Datasets

Soda Cloud API Dataset Endpoints

Dataset information

get

This endpoint enables you to gather information about the datasets that in exist in your organization's Soda Cloud account, including information about the Soda Cloud resources with which it is associated, such as data source, incidents, attributes and health status.

This GET is a paginated API that uses the following parameters to request specific details:

  • size: Supply an integer value between 10 and 1000, inclusive. The default value is 10.

  • page: Supply an integer value. The default value is 0.

  • from: Optionally, use this parameter to collect only the information for datasets that have been updated after a particular point in time. Supply an ISO8601 timestamp value. Example: 2023-12-31T10:15:30+01:00

  • datasourceName: Optionally, use this parameter to collect only the information for datasets associated with a specific datasource.

  • search: Optionally, use this parameter to perform a fuzzy search on the dataset name.

If not specified, the query gathers information for all datasets in the account and sorts the results first by dataset name and then by datasource name in ascending order.

Authorization

Soda only returns the datasets to which the user has View dataset permissions. Soda Cloud Admins have access to all datasets.See Manage dataset roles for more information.

Authentication

User authentication required: true

This endpoint enforces authentication using the API keys you provide in the Basic authentication header.

Tags

Datasets

Rate limiting

10 requests/60 seconds

Authorizations
Query parameters
datasourceNamestringOptional
fromstringOptional
pageinteger · int32Optional
searchstringOptional
sizeinteger · int32Optional
Responses
200
Successful response
application/json
get
GET /api/v1/datasets HTTP/1.1
Host: cloud.soda.io
Authorization: Basic username:password
Accept: */*
{
  "content": [
    {
      "attributes": {
        "ANY_ADDITIONAL_PROPERTY": "anything"
      },
      "checks": 1,
      "cloudUrl": "text",
      "dataQualityStatus": "pass",
      "datasource": {
        "label": "text",
        "name": "text",
        "prefix": "text",
        "type": "text"
      },
      "healthStatus": 1,
      "id": "text",
      "incidents": 1,
      "label": "text",
      "lastUpdated": "text",
      "name": "text",
      "owners": [
        {
          "type": "user",
          "user": {
            "email": "text",
            "firstName": "text",
            "fullName": "text",
            "lastName": "text",
            "userId": "text"
          },
          "userGroup": {
            "name": "text",
            "userGroupId": "text"
          }
        }
      ],
      "qualifiedName": "text",
      "tags": [
        "text"
      ]
    }
  ],
  "first": true,
  "last": true,
  "number": 1,
  "size": 1,
  "totalElements": 1,
  "totalPages": 1
}

Get dataset attributes

get

This endpoint enables you to gather information about the dataset attributes available in your organization's Soda Cloud account. Use the dataset attributes to categorise and organise your datasets.

This GET is a paginated API that uses the following parameters to request specific details:

  • size: Supply an integer value between 10 and 1000, inclusive. The default value is 1000.

  • page: Supply an integer value. The default value is 0.

Authentication

User authentication required: true

This endpoint enforces authentication using the API keys you provide in the Basic authentication header.

Authorization

Any Soda Cloud user in your organization may execute this query.

Tags

Datasets

Rate limiting

60 requests/60 seconds

Authorizations
Query parameters
pageinteger · int32Optional
sizeinteger · int32Optional
Responses
200
Successful response
application/json
get
GET /api/v1/datasets/attributes HTTP/1.1
Host: cloud.soda.io
Authorization: Basic username:password
Accept: */*
{
  "content": [
    {
      "allowedValues": [
        {}
      ],
      "description": "text",
      "id": "text",
      "label": "text",
      "name": "text",
      "type": "checkbox"
    }
  ],
  "first": true,
  "last": true,
  "number": 1,
  "size": 1,
  "totalElements": 1,
  "totalPages": 1
}

List dataset roles

get

This endpoint enables you to gather information about the dataset roles available in your organization's Soda Cloud account. Use the dataset roles to manage access to individual datasets.

This GET is a paginated API that uses the following parameters to request specific details:

  • size: Supply an integer value between 10 and 100, inclusive. The default value is 100.

  • page: Supply an integer value. The default value is 0.

Authentication

User authentication required: true

This endpoint enforces authentication using the API keys you provide in the Basic authentication header.

Authorization

Any Soda Cloud user in your organization may execute this query.

Tags

Datasets

Rate limiting

60 requests/60 seconds

Authorizations
Query parameters
pageinteger · int32Optional
sizeinteger · int32Optional
Responses
200
Successful response
application/json
get
GET /api/v1/datasets/roles HTTP/1.1
Host: cloud.soda.io
Authorization: Basic username:password
Accept: */*
{
  "content": [
    {
      "configureDataset": true,
      "createCheckProposals": true,
      "deleteDataset": true,
      "executeContracts": true,
      "id": "text",
      "manageChecks": true,
      "manageContracts": true,
      "manageIncidents": true,
      "managePermissions": true,
      "name": "text",
      "publishContracts": true,
      "viewFailedRows": true,
      "viewProfilingAndSamples": true
    }
  ],
  "first": true,
  "last": true,
  "number": 1,
  "size": 1,
  "totalElements": 1,
  "totalPages": 1
}

Update dataset

post

This endpoint enables you to update an existing dataset name, owners, tags or attributes in your organization's Soda Cloud account.

Authorization

Only users with Configure dataset permission can update dataset attributes. Soda Cloud Admins have permission to update all datasets.See Manage dataset roles for more information.

Authentication

User authentication required: true

This endpoint enforces authentication using the API keys you provide in the Basic authentication header.

Tags

Datasets

Rate limiting

100 requests/60 seconds

Authorizations
Path parameters
datasetIdstringRequired
Body
labelstringOptional
tagsstring[]Optional
Responses
200
Successful response
application/json
post
POST /api/v1/datasets/{datasetId} HTTP/1.1
Host: cloud.soda.io
Authorization: Basic username:password
Content-Type: application/json
Accept: */*
Content-Length: 148

{
  "attributes": {
    "ANY_ADDITIONAL_PROPERTY": "anything"
  },
  "label": "text",
  "owners": [
    {
      "type": "user",
      "userGroupId": "text",
      "userId": "text"
    }
  ],
  "tags": [
    "text"
  ]
}
{
  "attributes": {
    "ANY_ADDITIONAL_PROPERTY": "anything"
  },
  "checks": 1,
  "cloudUrl": "text",
  "dataQualityStatus": "pass",
  "datasource": {
    "label": "text",
    "name": "text",
    "prefix": "text",
    "type": "text"
  },
  "healthStatus": 1,
  "id": "text",
  "incidents": 1,
  "label": "text",
  "lastUpdated": "text",
  "name": "text",
  "owners": [
    {
      "type": "user",
      "user": {
        "email": "text",
        "firstName": "text",
        "fullName": "text",
        "lastName": "text",
        "userId": "text"
      },
      "userGroup": {
        "name": "text",
        "userGroupId": "text"
      }
    }
  ],
  "qualifiedName": "text",
  "tags": [
    "text"
  ]
}

Delete dataset

delete

This endpoint enables you to delete an existing dataset in your organization's Soda Cloud account.

Deletion is not immediate and can take some time to complete, depending on the size of your dataset. You can check the status of the deletion by calling the Get dataset endpoint.

Authorization

Only users with Delete dataset permission can delete a dataset. Soda Cloud Admins have permission to delete any dataset.See Manage dataset roles for more information.

Authentication

User authentication required: true

This endpoint enforces authentication using the API keys you provide in the Basic authentication header.

Tags

Datasets

Rate limiting

10 requests/60 seconds

Authorizations
Path parameters
datasetIdstringRequired
Responses
200
Successful response
application/json
delete
DELETE /api/v1/datasets/{datasetId} HTTP/1.1
Host: cloud.soda.io
Authorization: Basic username:password
Accept: */*
{
  "message": "text"
}

Get dataset profiling information

get

This endpoint allows you to retrieve detailed profiling information for a specific dataset in your organization's Soda Cloud account. Profiling information provides insights into the dataset's structure, statistical summaries, and data characteristics.

Authorization

Only users with Access dataset profiling and sampling permission can view dataset profiling. Soda Cloud Admins have access to profiling information for all datasets.See Manage dataset roles for more information.

Authentication

User authentication required: true

This endpoint enforces authentication using the API keys you provide in the Basic authentication header.

Tags

Datasets

Rate limiting

1000 requests/60 seconds

Authorizations
Path parameters
datasetIdstringRequired
Responses
200
Successful response
application/json
get
GET /api/v1/datasets/{datasetId}/profiling HTTP/1.1
Host: cloud.soda.io
Authorization: Basic username:password
Accept: */*
{
  "columnCount": 1,
  "columns": [
    {
      "metrics": {
        "average": 1,
        "averageLength": 1,
        "distinctCount": 1,
        "extremeValues": {
          "maximum": [
            {}
          ],
          "minimum": [
            {}
          ]
        },
        "frequentValues": [
          {
            "count": 1,
            "value": {}
          }
        ],
        "histogram": [
          {
            "count": 1,
            "lowerBound": 1,
            "upperBound": 1
          }
        ],
        "maximum": {},
        "maximumLength": 1,
        "maximumTimestamp": "text",
        "median": 1,
        "minimum": {},
        "minimumLength": 1,
        "minimumTimestamp": "text",
        "missingCount": 1,
        "standardDeviation": 1,
        "sum": 1,
        "variance": 1
      },
      "name": "text",
      "type": "text"
    }
  ],
  "datasetId": "text",
  "profilingTime": "text",
  "rowCount": 1
}

List dataset responsibilities

get

This endpoint enables you to gather information about the user and user groups permissions assigned to a dataset, and their associated roles in your organization's Soda Cloud account.

This GET is a paginated API that uses the following parameters to request specific details:

  • size: Supply an integer value between 1 and 100, inclusive. The default value is 100.

  • page: Supply an integer value. The default value is 0.

Authorization

Soda only returns the dataset responsibilities to which the user has View dataset permissions. Soda Cloud Admins have access to all dataset responsibilities.See Manage dataset roles for more information.

Authentication

User authentication required: true

This endpoint enforces authentication using the API keys you provide in the Basic authentication header.

Tags

Datasets

Rate limiting

60 requests/60 seconds

Authorizations
Path parameters
datasetIdstringRequired
Query parameters
pageinteger · int32Optional
sizeinteger · int32Optional
Responses
200
Successful response
application/json
get
GET /api/v1/datasets/{datasetId}/responsibilities HTTP/1.1
Host: cloud.soda.io
Authorization: Basic username:password
Accept: */*
{
  "content": [
    {
      "managed": true,
      "role": {
        "configureDataset": true,
        "createCheckProposals": true,
        "deleteDataset": true,
        "executeContracts": true,
        "id": "text",
        "manageChecks": true,
        "manageContracts": true,
        "manageIncidents": true,
        "managePermissions": true,
        "name": "text",
        "publishContracts": true,
        "viewFailedRows": true,
        "viewProfilingAndSamples": true
      },
      "type": "user",
      "userGroupId": "text",
      "userId": "text"
    }
  ],
  "first": true,
  "last": true,
  "number": 1,
  "size": 1,
  "totalElements": 1,
  "totalPages": 1
}

Update dataset responsibilities

post

This endpoint enables you to update the user and user groups permissions and their associated roles for a dataset in your organization's Soda Cloud account.

Note: This API fully replaces the existing responsibilities. The entire list of responsibilities must be provided in the request, including both new and existing entries, as any omissions will result in their removal.

Authorization

Only users with Manage dataset responsibilities permission can update dataset responsibilities. Soda Cloud Admins have permission to update all datasets responsibilities.**See Manage dataset roles for more information.**The Response of this call, when successful, is 201 and contains header Location which identify the URL where the responsibilities will eventually become available.

Authentication

User authentication required: true

This endpoint enforces authentication using the API keys you provide in the Basic authentication header.

Tags

Datasets

Rate limiting

10 requests/60 seconds

Authorizations
Path parameters
datasetIdstringRequired
Body
Responses
201
Created
post
POST /api/v1/datasets/{datasetId}/responsibilities HTTP/1.1
Host: cloud.soda.io
Authorization: Basic username:password
Content-Type: application/json
Accept: */*
Content-Length: 91

{
  "responsibilities": [
    {
      "roleId": "text",
      "type": "user",
      "userGroupId": "text",
      "userId": "text"
    }
  ]
}

No content

Was this helpful?