Datasources
Soda Cloud API Datasource Endpoints
This endpoint allows you to list datasources in your organization.
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.search: Supply a string value to filter datasources by name (case-insensitive partial match).version: Optionally, use this parameter to list only datasources on a given Soda model version (3or4).
Datasources that are being deleted are left out of the results, and out of totalElements, from the moment the delete is requested until the deletion has finished.
Authorization
Soda only returns datasources for which the user has the View permission. Soda Cloud Admins have access to all datasources.
Authentication
User authentication required: true
This endpoint accepts authentication via API keys in the Basic authentication header, or a pre-authenticated token in HTTP cookie token. Cookie sessions extend automatically on each request.
Tags
Datasources
Rate limiting
60 requests/60 seconds
Successful response
Bad request
Unauthorized
Forbidden
Too many requests
Internal server error
GET /api/v1/datasources HTTP/1.1
Host: cloud.soda.io
Authorization: Basic username:password
Accept: */*
{
"content": [
{
"createdAt": "2026-01-01T00:00:00.000Z",
"id": "text",
"label": "text",
"name": "text",
"owner": {
"email": "text",
"firstName": "text",
"fullName": "text",
"lastName": "text",
"userId": "text"
},
"type": "bigquery",
"updatedAt": "2026-01-01T00:00:00.000Z",
"version": "3"
}
],
"first": true,
"last": true,
"number": 1,
"size": 1,
"totalElements": 1,
"totalPages": 1
}This endpoint returns the organization-wide defaults that Soda applies to every newly created datasource: the datasource role granted to the datasource owner, and the users and user groups that are assigned a datasource role automatically.
Assignments whose role has since been deleted are left out, because they no longer grant anything.
Datasource roles must be enabled for your organization; if they are not, this endpoint answers 400.
Authorization
Only users with the Manage organization settings permission can read the default datasource responsibilities.
Authentication
User authentication required: true
This endpoint accepts authentication via API keys in the Basic authentication header, or a pre-authenticated token in HTTP cookie token. Cookie sessions extend automatically on each request.
Authorization
Users must have global role permission MANAGE_ORGANISATION_SETTINGS to execute this call.
Tags
Datasources
Rate limiting
60 requests/60 seconds
Successful response
Bad request
Unauthorized
Forbidden
Too many requests
Internal server error
GET /api/v1/datasources/defaultResponsibilities HTTP/1.1
Host: cloud.soda.io
Authorization: Basic username:password
Accept: */*
{
"assignments": [
{
"role": {
"createDatasets": true,
"deleteDatasource": true,
"id": "text",
"manageDatasourceSettings": true,
"managePermissions": true,
"name": "text",
"viewDatasource": true
},
"type": "user",
"userGroupId": "text",
"userId": "text"
}
],
"defaultOwnerRole": {
"createDatasets": true,
"deleteDatasource": true,
"id": "text",
"manageDatasourceSettings": true,
"managePermissions": true,
"name": "text",
"viewDatasource": true
}
}This endpoint updates the organization-wide defaults that Soda applies to every newly created datasource.
Note: assignments fully replaces the current list, so send every assignment you want to keep. Leave it out to keep the list that is configured now, or send an empty list to remove every assignment. Leaving out defaultOwnerRoleId keeps the role that is configured now; changing it also repoints the owner permissions Soda manages on the datasources that already exist.
Existing datasources keep the responsibilities they already have, apart from that owner role.
Datasource roles must be enabled for your organization; if they are not, this endpoint answers 400.
Authorization
Only users with the Manage organization settings permission can update the default datasource responsibilities.
Authentication
User authentication required: true
This endpoint accepts authentication via API keys in the Basic authentication header, or a pre-authenticated token in HTTP cookie token. Cookie sessions extend automatically on each request.
Authorization
Users must have global role permission MANAGE_ORGANISATION_SETTINGS to execute this call.
Tags
Datasources
Rate limiting
60 requests/60 seconds
Id of the datasource role to grant to the owner of a newly created datasource. Leave it out to keep the role that is configured now.
Successful response
Bad request
Unauthorized
Forbidden
Too many requests
Internal server error
POST /api/v1/datasources/defaultResponsibilities HTTP/1.1
Host: cloud.soda.io
Authorization: Basic username:password
Content-Type: application/json
Accept: */*
Content-Length: 114
{
"assignments": [
{
"roleId": "text",
"type": "user",
"userGroupId": "text",
"userId": "text"
}
],
"defaultOwnerRoleId": "text"
}{
"assignments": [
{
"role": {
"createDatasets": true,
"deleteDatasource": true,
"id": "text",
"manageDatasourceSettings": true,
"managePermissions": true,
"name": "text",
"viewDatasource": true
},
"type": "user",
"userGroupId": "text",
"userId": "text"
}
],
"defaultOwnerRole": {
"createDatasets": true,
"deleteDatasource": true,
"id": "text",
"manageDatasourceSettings": true,
"managePermissions": true,
"name": "text",
"viewDatasource": true
}
}This endpoint enables you to gather information about the datasource roles available in your organization's Soda Cloud account. Use the datasource roles to manage access to individual datasources.
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 accepts authentication via API keys in the Basic authentication header, or a pre-authenticated token in HTTP cookie token. Cookie sessions extend automatically on each request.
Authorization
Any Soda Cloud user in your organization may execute this query.
Tags
Datasources
Rate limiting
60 requests/60 seconds
Successful response
Bad request
Unauthorized
Forbidden
Not found
Too many requests
Internal server error
GET /api/v1/datasources/roles HTTP/1.1
Host: cloud.soda.io
Authorization: Basic username:password
Accept: */*
{
"content": [
{
"createDatasets": true,
"deleteDatasource": true,
"id": "text",
"manageDatasourceSettings": true,
"managePermissions": true,
"name": "text",
"viewDatasource": true
}
],
"first": true,
"last": true,
"number": 1,
"size": 1,
"totalElements": 1,
"totalPages": 1
}This endpoint allows you to create a new custom datasource role in your organization's Soda Cloud account. Datasource roles define a named set of permissions that control what actions users can perform on individual datasources, such as creating datasets, managing datasource settings, managing permissions, or deleting the datasource.
Once created, the role can be assigned to users or user groups via the datasource responsibilities endpoints.
Authentication
User authentication required: true
This endpoint accepts authentication via API keys in the Basic authentication header, or a pre-authenticated token in HTTP cookie token. Cookie sessions extend automatically on each request.
Authorization
Users must have global role permission MANAGE_ORGANISATION_SETTINGS to execute this call.
Tags
Datasources
Rate limiting
60 requests/60 seconds
Successful response
Bad request
Unauthorized
Forbidden
Too many requests
Internal server error
POST /api/v1/datasources/roles HTTP/1.1
Host: cloud.soda.io
Authorization: Basic username:password
Content-Type: application/json
Accept: */*
Content-Length: 140
{
"createDatasets": true,
"deleteDatasource": true,
"manageDatasourceSettings": true,
"managePermissions": true,
"name": "text",
"viewDatasource": true
}{
"datasourceRole": {
"createDatasets": true,
"deleteDatasource": true,
"id": "text",
"manageDatasourceSettings": true,
"managePermissions": true,
"name": "text",
"viewDatasource": true
}
}This endpoint allows you to update the name or permissions of an existing custom datasource role. Datasource roles define a named set of permissions that control what actions users can perform on individual datasources, such as creating datasets, managing datasource settings, managing permissions, or deleting the datasource.
Changes apply immediately to all users and user groups assigned this role.
Authentication
User authentication required: true
This endpoint accepts authentication via API keys in the Basic authentication header, or a pre-authenticated token in HTTP cookie token. Cookie sessions extend automatically on each request.
Authorization
Users must have global role permission MANAGE_ORGANISATION_SETTINGS to execute this call.
Tags
Datasources
Rate limiting
60 requests/60 seconds
Successful response
Bad request
Unauthorized
Forbidden
Not found
Too many requests
Internal server error
POST /api/v1/datasources/roles/{roleId} HTTP/1.1
Host: cloud.soda.io
Authorization: Basic username:password
Content-Type: application/json
Accept: */*
Content-Length: 140
{
"createDatasets": true,
"deleteDatasource": true,
"manageDatasourceSettings": true,
"managePermissions": true,
"name": "text",
"viewDatasource": true
}{
"datasourceRole": {
"createDatasets": true,
"deleteDatasource": true,
"id": "text",
"manageDatasourceSettings": true,
"managePermissions": true,
"name": "text",
"viewDatasource": true
}
}This endpoint allows you to delete a custom datasource role from your organization's Soda Cloud account. Datasource roles define a named set of permissions that control what actions users can perform on individual datasources, such as creating datasets, managing datasource settings, managing permissions, or deleting the datasource.
Deletion is performed asynchronously and may take some time to complete.
Deletion will fail if the role is still assigned to any datasource permissions or used in responsibility settings.
Authentication
User authentication required: true
This endpoint accepts authentication via API keys in the Basic authentication header, or a pre-authenticated token in HTTP cookie token. Cookie sessions extend automatically on each request.
Authorization
Users must have global role permission MANAGE_ORGANISATION_SETTINGS to execute this call.
Tags
Datasources
Rate limiting
60 requests/60 seconds
Successful response
Bad request
Unauthorized
Forbidden
Not found
Too many requests
Internal server error
DELETE /api/v1/datasources/roles/{roleId} HTTP/1.1
Host: cloud.soda.io
Authorization: Basic username:password
Accept: */*
{
"message": "text"
}This endpoint allows you to retrieve a specific datasource by its ID.
A datasource that is being deleted returns 400 with error code resource_in_deletion until the deletion has finished, after which it returns 404.
Authorization
Users with the View permission on the datasource can retrieve its details.
Authentication
User authentication required: true
This endpoint accepts authentication via API keys in the Basic authentication header, or a pre-authenticated token in HTTP cookie token. Cookie sessions extend automatically on each request.
Tags
Datasources
Rate limiting
1000 requests/60 seconds
Successful response
Bad request
Unauthorized
Forbidden
Not found
Too many requests
Internal server error
GET /api/v1/datasources/{datasourceId} HTTP/1.1
Host: cloud.soda.io
Authorization: Basic username:password
Accept: */*
{
"datasource": {
"createdAt": "2026-01-01T00:00:00.000Z",
"id": "text",
"label": "text",
"name": "text",
"owner": {
"email": "text",
"firstName": "text",
"fullName": "text",
"lastName": "text",
"userId": "text"
},
"type": "bigquery",
"updatedAt": "2026-01-01T00:00:00.000Z",
"version": "3"
}
}This endpoint enables you to gather information about the user and user groups permissions assigned to a datasource, 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 datasource responsibilities to which the user has View datasource permissions. Soda Cloud Admins have access to all datasource responsibilities.
Authentication
User authentication required: true
This endpoint accepts authentication via API keys in the Basic authentication header, or a pre-authenticated token in HTTP cookie token. Cookie sessions extend automatically on each request.
Tags
Datasources
Rate limiting
100 requests/60 seconds
Successful response
Bad request
Unauthorized
Forbidden
Not found
Too many requests
Internal server error
GET /api/v1/datasources/{datasourceId}/responsibilities HTTP/1.1
Host: cloud.soda.io
Authorization: Basic username:password
Accept: */*
{
"content": [
{
"managed": true,
"role": {
"createDatasets": true,
"deleteDatasource": true,
"id": "text",
"manageDatasourceSettings": true,
"managePermissions": true,
"name": "text",
"viewDatasource": true
},
"type": "user",
"userGroupId": "text",
"userId": "text"
}
],
"first": true,
"last": true,
"number": 1,
"size": 1,
"totalElements": 1,
"totalPages": 1
}This endpoint enables you to update the user and user groups permissions and their associated roles for a datasource 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 datasource responsibilities permission can update datasource responsibilities. Soda Cloud Admins have permission to update all datasources responsibilities.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 accepts authentication via API keys in the Basic authentication header, or a pre-authenticated token in HTTP cookie token. Cookie sessions extend automatically on each request.
Tags
Datasources
Rate limiting
100 requests/60 seconds
Created
Bad request
Unauthorized
Forbidden
Not found
Too many requests
Internal server error
POST /api/v1/datasources/{datasourceId}/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
Last updated
Was this helpful?
