> For the complete documentation index, see [llms.txt](https://docs.soda.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.soda.io/soda-documentation/soda-v3/soda-cloud-api-v1/datasources.md).

# Datasources

Soda Cloud API Datasource Endpoints

## List datasources

> 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 (\`3\` or \`4\`).\
> \
> 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

```json
{"openapi":"3.1.0","info":{"title":"Soda Cloud API v3","version":"v1"},"tags":[{"description":"Soda Cloud API Datasource Endpoints","name":"Datasources"}],"servers":[{"description":"Cloud EU","url":"https://cloud.soda.io"},{"description":"Cloud US","url":"https://cloud.us.soda.io"}],"security":[{"basicAuthApiKey":[]},{"cookieToken":[]}],"components":{"securitySchemes":{"basicAuthApiKey":{"scheme":"basic","type":"http"},"cookieToken":{"in":"cookie","name":"token","type":"apiKey"}},"schemas":{"ModelVersionDTO":{"type":"string","enum":["3","4"]},"PublicApiListDatasourcesResponse":{"type":"object","properties":{"content":{"type":"array","items":{"type":"object","$ref":"#/components/schemas/PublicApiDatasourceDTO"}},"first":{"type":"boolean"},"last":{"type":"boolean"},"number":{"type":"integer","format":"int32"},"size":{"type":"integer","format":"int32"},"totalElements":{"type":"integer","format":"int32"},"totalPages":{"type":"integer","format":"int32"}},"required":["content","first","last","number","size","totalElements","totalPages"]},"PublicApiDatasourceDTO":{"type":"object","properties":{"createdAt":{"type":"string","format":"date-time"},"id":{"type":"string"},"label":{"type":"string"},"name":{"type":"string"},"owner":{"type":"object","$ref":"#/components/schemas/UserContentDTO"},"type":{"type":"object","$ref":"#/components/schemas/PublicApiDatasourceTypeDTO"},"updatedAt":{"type":"string","format":"date-time"},"version":{"type":"object","$ref":"#/components/schemas/ModelVersionDTO","description":"The Soda model version of the datasource: `3` or `4`."}}},"UserContentDTO":{"type":"object","properties":{"email":{"type":"string"},"firstName":{"type":"string"},"fullName":{"type":"string"},"lastName":{"type":"string"},"userId":{"type":"string"}},"required":["email","userId"]},"PublicApiDatasourceTypeDTO":{"type":"string","enum":["bigquery","mysql","mariadb","postgres","snowflake","dask","spark","sparkdf","redshift","duckdb","presto","oracle","athena","trino","dremio","vertica","denodo","db2","db2z","sqlserver","databricks","synapse","fabric","hana","salesforce"]},"ErrorResponse":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"}}}}},"paths":{"/api/v1/datasources":{"get":{"description":"This endpoint allows you to list datasources in your organization.\n\nThis GET is a paginated API that uses the following parameters to request specific details:\n\n- `size`: Supply an integer value between 10 and 1000, inclusive. The default value is 10.\n\n- `page`: Supply an integer value. The default value is 0.\n\n- `search`: Supply a string value to filter datasources by name (case-insensitive partial match).\n\n- `version`: Optionally, use this parameter to list only datasources on a given Soda model version (`3` or `4`).\n\nDatasources 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.\n\n## Authorization\n\nSoda only returns datasources for which the user has the **View** permission. Soda Cloud Admins have access to all datasources.\n\n## Authentication\n\nUser authentication required: `true`\n\nThis 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.\n\n## Tags\n\n`Datasources`\n\n## Rate limiting\n\n60 requests/60 seconds","operationId":"GET/api/v1/datasources","parameters":[{"in":"query","name":"page","schema":{"type":"integer","format":"int32"}},{"in":"query","name":"search","schema":{"type":"string"}},{"in":"query","name":"size","schema":{"type":"integer","format":"int32"}},{"in":"query","name":"version","schema":{"type":"object","$ref":"#/components/schemas/ModelVersionDTO"}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","$ref":"#/components/schemas/PublicApiListDatasourcesResponse"}}},"description":"Successful response"},"400":{"content":{"application/json":{"schema":{"type":"object","$ref":"#/components/schemas/ErrorResponse"}}},"description":"Bad request"},"401":{"content":{"application/json":{"schema":{"type":"object","$ref":"#/components/schemas/ErrorResponse"}}},"description":"Unauthorized"},"403":{"content":{"application/json":{"schema":{"type":"object","$ref":"#/components/schemas/ErrorResponse"}}},"description":"Forbidden"},"429":{"content":{"application/json":{"schema":{"type":"object","$ref":"#/components/schemas/ErrorResponse"}}},"description":"Too many requests"},"500":{"content":{"application/json":{"schema":{"type":"object","$ref":"#/components/schemas/ErrorResponse"}}},"description":"Internal server error"}},"summary":"List datasources","tags":["Datasources"]}}}}
```

## Get the default datasource responsibilities

> 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

```json
{"openapi":"3.1.0","info":{"title":"Soda Cloud API v3","version":"v1"},"tags":[{"description":"Soda Cloud API Datasource Endpoints","name":"Datasources"}],"servers":[{"description":"Cloud EU","url":"https://cloud.soda.io"},{"description":"Cloud US","url":"https://cloud.us.soda.io"}],"security":[{"basicAuthApiKey":[]},{"cookieToken":[]}],"components":{"securitySchemes":{"basicAuthApiKey":{"scheme":"basic","type":"http"},"cookieToken":{"in":"cookie","name":"token","type":"apiKey"}},"schemas":{"PublicApiDatasourceDefaultResponsibilitiesResponse":{"type":"object","properties":{"assignments":{"type":"array","description":"Users and user groups that are granted a datasource role on every newly created datasource.","items":{"type":"object","$ref":"#/components/schemas/DatasourceDefaultAssignmentContentDTO"}},"defaultOwnerRole":{"type":"object","$ref":"#/components/schemas/DatasourceRoleContentDTO","description":"Datasource role granted to the owner of a newly created datasource. Null when no role is configured."}},"required":["assignments"]},"DatasourceDefaultAssignmentContentDTO":{"type":"object","properties":{"role":{"type":"object","$ref":"#/components/schemas/DatasourceRoleContentDTO"},"type":{"type":"object","$ref":"#/components/schemas/ResponsibilityTypeDTO"},"userGroupId":{"type":"string"},"userId":{"type":"string"}},"required":["role","type"]},"DatasourceRoleContentDTO":{"type":"object","properties":{"createDatasets":{"type":"boolean"},"deleteDatasource":{"type":"boolean"},"id":{"type":"string"},"manageDatasourceSettings":{"type":"boolean"},"managePermissions":{"type":"boolean"},"name":{"type":"string"},"viewDatasource":{"type":"boolean"}},"required":["id","name"]},"ResponsibilityTypeDTO":{"type":"string","enum":["user","userGroup"]},"ErrorResponse":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"}}}}},"paths":{"/api/v1/datasources/defaultResponsibilities":{"get":{"description":"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.\n\nAssignments whose role has since been deleted are left out, because they no longer grant anything.\n\nDatasource roles must be enabled for your organization; if they are not, this endpoint answers 400.\n\n## Authorization\n\nOnly users with the **Manage organization settings** permission can read the default datasource responsibilities.\n\n## Authentication\n\nUser authentication required: `true`\n\nThis 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.\n\n## Authorization\n\nUsers must have global role permission MANAGE_ORGANISATION_SETTINGS to execute this call.\n\n## Tags\n\n`Datasources`\n\n## Rate limiting\n\n60 requests/60 seconds","operationId":"GET/api/v1/datasources/defaultResponsibilities","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","$ref":"#/components/schemas/PublicApiDatasourceDefaultResponsibilitiesResponse"}}},"description":"Successful response"},"400":{"content":{"application/json":{"schema":{"type":"object","$ref":"#/components/schemas/ErrorResponse"}}},"description":"Bad request"},"401":{"content":{"application/json":{"schema":{"type":"object","$ref":"#/components/schemas/ErrorResponse"}}},"description":"Unauthorized"},"403":{"content":{"application/json":{"schema":{"type":"object","$ref":"#/components/schemas/ErrorResponse"}}},"description":"Forbidden"},"429":{"content":{"application/json":{"schema":{"type":"object","$ref":"#/components/schemas/ErrorResponse"}}},"description":"Too many requests"},"500":{"content":{"application/json":{"schema":{"type":"object","$ref":"#/components/schemas/ErrorResponse"}}},"description":"Internal server error"}},"summary":"Get the default datasource responsibilities","tags":["Datasources"]}}}}
```

## Update the default datasource responsibilities

> 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

```json
{"openapi":"3.1.0","info":{"title":"Soda Cloud API v3","version":"v1"},"tags":[{"description":"Soda Cloud API Datasource Endpoints","name":"Datasources"}],"servers":[{"description":"Cloud EU","url":"https://cloud.soda.io"},{"description":"Cloud US","url":"https://cloud.us.soda.io"}],"security":[{"basicAuthApiKey":[]},{"cookieToken":[]}],"components":{"securitySchemes":{"basicAuthApiKey":{"scheme":"basic","type":"http"},"cookieToken":{"in":"cookie","name":"token","type":"apiKey"}},"schemas":{"PublicApiUpdateDatasourceDefaultResponsibilitiesRequestDTO":{"type":"object","properties":{"assignments":{"type":"array","description":"Replaces the whole list of default assignments. Leave it out to keep the assignments that are configured now, or send an empty list to remove all of them.","items":{"type":"object","$ref":"#/components/schemas/DatasourceDefaultAssignmentRequestDTO"}},"defaultOwnerRoleId":{"type":"string","description":"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."}}},"DatasourceDefaultAssignmentRequestDTO":{"type":"object","properties":{"roleId":{"type":"string"},"type":{"type":"object","$ref":"#/components/schemas/ResponsibilityTypeDTO"},"userGroupId":{"type":"string"},"userId":{"type":"string"}},"required":["roleId","type"]},"ResponsibilityTypeDTO":{"type":"string","enum":["user","userGroup"]},"PublicApiDatasourceDefaultResponsibilitiesResponse":{"type":"object","properties":{"assignments":{"type":"array","description":"Users and user groups that are granted a datasource role on every newly created datasource.","items":{"type":"object","$ref":"#/components/schemas/DatasourceDefaultAssignmentContentDTO"}},"defaultOwnerRole":{"type":"object","$ref":"#/components/schemas/DatasourceRoleContentDTO","description":"Datasource role granted to the owner of a newly created datasource. Null when no role is configured."}},"required":["assignments"]},"DatasourceDefaultAssignmentContentDTO":{"type":"object","properties":{"role":{"type":"object","$ref":"#/components/schemas/DatasourceRoleContentDTO"},"type":{"type":"object","$ref":"#/components/schemas/ResponsibilityTypeDTO"},"userGroupId":{"type":"string"},"userId":{"type":"string"}},"required":["role","type"]},"DatasourceRoleContentDTO":{"type":"object","properties":{"createDatasets":{"type":"boolean"},"deleteDatasource":{"type":"boolean"},"id":{"type":"string"},"manageDatasourceSettings":{"type":"boolean"},"managePermissions":{"type":"boolean"},"name":{"type":"string"},"viewDatasource":{"type":"boolean"}},"required":["id","name"]},"ErrorResponse":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"}}}}},"paths":{"/api/v1/datasources/defaultResponsibilities":{"post":{"description":"This endpoint updates the organization-wide defaults that Soda applies to every newly created datasource.\n\n**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.\n\nExisting datasources keep the responsibilities they already have, apart from that owner role.\n\nDatasource roles must be enabled for your organization; if they are not, this endpoint answers 400.\n\n## Authorization\n\nOnly users with the **Manage organization settings** permission can update the default datasource responsibilities.\n\n## Authentication\n\nUser authentication required: `true`\n\nThis 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.\n\n## Authorization\n\nUsers must have global role permission MANAGE_ORGANISATION_SETTINGS to execute this call.\n\n## Tags\n\n`Datasources`\n\n## Rate limiting\n\n60 requests/60 seconds","operationId":"POST/api/v1/datasources/defaultResponsibilities","requestBody":{"content":{"application/json":{"schema":{"type":"object","$ref":"#/components/schemas/PublicApiUpdateDatasourceDefaultResponsibilitiesRequestDTO"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","$ref":"#/components/schemas/PublicApiDatasourceDefaultResponsibilitiesResponse"}}},"description":"Successful response"},"400":{"content":{"application/json":{"schema":{"type":"object","$ref":"#/components/schemas/ErrorResponse"}}},"description":"Bad request"},"401":{"content":{"application/json":{"schema":{"type":"object","$ref":"#/components/schemas/ErrorResponse"}}},"description":"Unauthorized"},"403":{"content":{"application/json":{"schema":{"type":"object","$ref":"#/components/schemas/ErrorResponse"}}},"description":"Forbidden"},"429":{"content":{"application/json":{"schema":{"type":"object","$ref":"#/components/schemas/ErrorResponse"}}},"description":"Too many requests"},"500":{"content":{"application/json":{"schema":{"type":"object","$ref":"#/components/schemas/ErrorResponse"}}},"description":"Internal server error"}},"summary":"Update the default datasource responsibilities","tags":["Datasources"]}}}}
```

## List datasource roles

> 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

```json
{"openapi":"3.1.0","info":{"title":"Soda Cloud API v3","version":"v1"},"tags":[{"description":"Soda Cloud API Datasource Endpoints","name":"Datasources"}],"servers":[{"description":"Cloud EU","url":"https://cloud.soda.io"},{"description":"Cloud US","url":"https://cloud.us.soda.io"}],"security":[{"basicAuthApiKey":[]},{"cookieToken":[]}],"components":{"securitySchemes":{"basicAuthApiKey":{"scheme":"basic","type":"http"},"cookieToken":{"in":"cookie","name":"token","type":"apiKey"}},"schemas":{"PublicApiDatasourceRolesResponse":{"type":"object","properties":{"content":{"type":"array","items":{"type":"object","$ref":"#/components/schemas/DatasourceRoleContentDTO"}},"first":{"type":"boolean"},"last":{"type":"boolean"},"number":{"type":"integer","format":"int32"},"size":{"type":"integer","format":"int32"},"totalElements":{"type":"integer","format":"int32"},"totalPages":{"type":"integer","format":"int32"}},"required":["content","first","last","number","size","totalElements","totalPages"]},"DatasourceRoleContentDTO":{"type":"object","properties":{"createDatasets":{"type":"boolean"},"deleteDatasource":{"type":"boolean"},"id":{"type":"string"},"manageDatasourceSettings":{"type":"boolean"},"managePermissions":{"type":"boolean"},"name":{"type":"string"},"viewDatasource":{"type":"boolean"}},"required":["id","name"]},"ErrorResponse":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"}}}}},"paths":{"/api/v1/datasources/roles":{"get":{"description":"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.\n\nThis GET is a paginated API that uses the following parameters to request specific details:\n\n- `size`: Supply an integer value between 10 and 100, inclusive. The default value is 100.\n\n- `page`: Supply an integer value. The default value is 0.\n\n## Authentication\n\nUser authentication required: `true`\n\nThis 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.\n\n## Authorization\n\nAny Soda Cloud user in your organization may execute this query.\n\n## Tags\n\n`Datasources`\n\n## Rate limiting\n\n60 requests/60 seconds","operationId":"GET/api/v1/datasources/roles","parameters":[{"in":"query","name":"page","schema":{"type":"integer","format":"int32"}},{"in":"query","name":"size","schema":{"type":"integer","format":"int32"}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","$ref":"#/components/schemas/PublicApiDatasourceRolesResponse"}}},"description":"Successful response"},"400":{"content":{"application/json":{"schema":{"type":"object","$ref":"#/components/schemas/ErrorResponse"}}},"description":"Bad request"},"401":{"content":{"application/json":{"schema":{"type":"object","$ref":"#/components/schemas/ErrorResponse"}}},"description":"Unauthorized"},"403":{"content":{"application/json":{"schema":{"type":"object","$ref":"#/components/schemas/ErrorResponse"}}},"description":"Forbidden"},"404":{"content":{"application/json":{"schema":{"type":"object","$ref":"#/components/schemas/ErrorResponse"}}},"description":"Not found"},"429":{"content":{"application/json":{"schema":{"type":"object","$ref":"#/components/schemas/ErrorResponse"}}},"description":"Too many requests"},"500":{"content":{"application/json":{"schema":{"type":"object","$ref":"#/components/schemas/ErrorResponse"}}},"description":"Internal server error"}},"summary":"List datasource roles","tags":["Datasources"]}}}}
```

## Create a datasource role

> 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

```json
{"openapi":"3.1.0","info":{"title":"Soda Cloud API v3","version":"v1"},"tags":[{"description":"Soda Cloud API Datasource Endpoints","name":"Datasources"}],"servers":[{"description":"Cloud EU","url":"https://cloud.soda.io"},{"description":"Cloud US","url":"https://cloud.us.soda.io"}],"security":[{"basicAuthApiKey":[]},{"cookieToken":[]}],"components":{"securitySchemes":{"basicAuthApiKey":{"scheme":"basic","type":"http"},"cookieToken":{"in":"cookie","name":"token","type":"apiKey"}},"schemas":{"PublicApiDatasourceRoleRequestDTO":{"type":"object","properties":{"createDatasets":{"type":"boolean"},"deleteDatasource":{"type":"boolean"},"manageDatasourceSettings":{"type":"boolean"},"managePermissions":{"type":"boolean"},"name":{"type":"string"},"viewDatasource":{"type":"boolean"}},"required":["name"]},"PublicApiCreateDatasourceRoleResponse":{"type":"object","properties":{"datasourceRole":{"type":"object","$ref":"#/components/schemas/DatasourceRoleContentDTO"}},"required":["datasourceRole"]},"DatasourceRoleContentDTO":{"type":"object","properties":{"createDatasets":{"type":"boolean"},"deleteDatasource":{"type":"boolean"},"id":{"type":"string"},"manageDatasourceSettings":{"type":"boolean"},"managePermissions":{"type":"boolean"},"name":{"type":"string"},"viewDatasource":{"type":"boolean"}},"required":["id","name"]},"ErrorResponse":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"}}}}},"paths":{"/api/v1/datasources/roles":{"post":{"description":"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.\n\nOnce created, the role can be assigned to users or user groups via the datasource responsibilities endpoints.\n\n## Authentication\n\nUser authentication required: `true`\n\nThis 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.\n\n## Authorization\n\nUsers must have global role permission MANAGE_ORGANISATION_SETTINGS to execute this call.\n\n## Tags\n\n`Datasources`\n\n## Rate limiting\n\n60 requests/60 seconds","operationId":"POST/api/v1/datasources/roles","requestBody":{"content":{"application/json":{"schema":{"type":"object","$ref":"#/components/schemas/PublicApiDatasourceRoleRequestDTO"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","$ref":"#/components/schemas/PublicApiCreateDatasourceRoleResponse"}}},"description":"Successful response"},"400":{"content":{"application/json":{"schema":{"type":"object","$ref":"#/components/schemas/ErrorResponse"}}},"description":"Bad request"},"401":{"content":{"application/json":{"schema":{"type":"object","$ref":"#/components/schemas/ErrorResponse"}}},"description":"Unauthorized"},"403":{"content":{"application/json":{"schema":{"type":"object","$ref":"#/components/schemas/ErrorResponse"}}},"description":"Forbidden"},"429":{"content":{"application/json":{"schema":{"type":"object","$ref":"#/components/schemas/ErrorResponse"}}},"description":"Too many requests"},"500":{"content":{"application/json":{"schema":{"type":"object","$ref":"#/components/schemas/ErrorResponse"}}},"description":"Internal server error"}},"summary":"Create a datasource role","tags":["Datasources"]}}}}
```

## Update a datasource role

> 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

```json
{"openapi":"3.1.0","info":{"title":"Soda Cloud API v3","version":"v1"},"tags":[{"description":"Soda Cloud API Datasource Endpoints","name":"Datasources"}],"servers":[{"description":"Cloud EU","url":"https://cloud.soda.io"},{"description":"Cloud US","url":"https://cloud.us.soda.io"}],"security":[{"basicAuthApiKey":[]},{"cookieToken":[]}],"components":{"securitySchemes":{"basicAuthApiKey":{"scheme":"basic","type":"http"},"cookieToken":{"in":"cookie","name":"token","type":"apiKey"}},"schemas":{"PublicApiDatasourceRoleRequestDTO":{"type":"object","properties":{"createDatasets":{"type":"boolean"},"deleteDatasource":{"type":"boolean"},"manageDatasourceSettings":{"type":"boolean"},"managePermissions":{"type":"boolean"},"name":{"type":"string"},"viewDatasource":{"type":"boolean"}},"required":["name"]},"PublicApiUpdateDatasourceRoleResponse":{"type":"object","properties":{"datasourceRole":{"type":"object","$ref":"#/components/schemas/DatasourceRoleContentDTO"}},"required":["datasourceRole"]},"DatasourceRoleContentDTO":{"type":"object","properties":{"createDatasets":{"type":"boolean"},"deleteDatasource":{"type":"boolean"},"id":{"type":"string"},"manageDatasourceSettings":{"type":"boolean"},"managePermissions":{"type":"boolean"},"name":{"type":"string"},"viewDatasource":{"type":"boolean"}},"required":["id","name"]},"ErrorResponse":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"}}}}},"paths":{"/api/v1/datasources/roles/{roleId}":{"post":{"description":"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.\n\nChanges apply immediately to all users and user groups assigned this role.\n\n## Authentication\n\nUser authentication required: `true`\n\nThis 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.\n\n## Authorization\n\nUsers must have global role permission MANAGE_ORGANISATION_SETTINGS to execute this call.\n\n## Tags\n\n`Datasources`\n\n## Rate limiting\n\n60 requests/60 seconds","operationId":"POST/api/v1/datasources/roles/{roleId}","parameters":[{"in":"path","name":"roleId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","$ref":"#/components/schemas/PublicApiDatasourceRoleRequestDTO"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","$ref":"#/components/schemas/PublicApiUpdateDatasourceRoleResponse"}}},"description":"Successful response"},"400":{"content":{"application/json":{"schema":{"type":"object","$ref":"#/components/schemas/ErrorResponse"}}},"description":"Bad request"},"401":{"content":{"application/json":{"schema":{"type":"object","$ref":"#/components/schemas/ErrorResponse"}}},"description":"Unauthorized"},"403":{"content":{"application/json":{"schema":{"type":"object","$ref":"#/components/schemas/ErrorResponse"}}},"description":"Forbidden"},"404":{"content":{"application/json":{"schema":{"type":"object","$ref":"#/components/schemas/ErrorResponse"}}},"description":"Not found"},"429":{"content":{"application/json":{"schema":{"type":"object","$ref":"#/components/schemas/ErrorResponse"}}},"description":"Too many requests"},"500":{"content":{"application/json":{"schema":{"type":"object","$ref":"#/components/schemas/ErrorResponse"}}},"description":"Internal server error"}},"summary":"Update a datasource role","tags":["Datasources"]}}}}
```

## Delete a datasource role

> 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

```json
{"openapi":"3.1.0","info":{"title":"Soda Cloud API v3","version":"v1"},"tags":[{"description":"Soda Cloud API Datasource Endpoints","name":"Datasources"}],"servers":[{"description":"Cloud EU","url":"https://cloud.soda.io"},{"description":"Cloud US","url":"https://cloud.us.soda.io"}],"security":[{"basicAuthApiKey":[]},{"cookieToken":[]}],"components":{"securitySchemes":{"basicAuthApiKey":{"scheme":"basic","type":"http"},"cookieToken":{"in":"cookie","name":"token","type":"apiKey"}},"schemas":{"PublicApiDeleteDatasourceRoleResponse":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]},"ErrorResponse":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"}}}}},"paths":{"/api/v1/datasources/roles/{roleId}":{"delete":{"description":"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.\n\nDeletion is performed asynchronously and may take some time to complete.\n\nDeletion will fail if the role is still assigned to any datasource permissions or used in responsibility settings.\n\n## Authentication\n\nUser authentication required: `true`\n\nThis 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.\n\n## Authorization\n\nUsers must have global role permission MANAGE_ORGANISATION_SETTINGS to execute this call.\n\n## Tags\n\n`Datasources`\n\n## Rate limiting\n\n60 requests/60 seconds","operationId":"DELETE/api/v1/datasources/roles/{roleId}","parameters":[{"in":"path","name":"roleId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","$ref":"#/components/schemas/PublicApiDeleteDatasourceRoleResponse"}}},"description":"Successful response"},"400":{"content":{"application/json":{"schema":{"type":"object","$ref":"#/components/schemas/ErrorResponse"}}},"description":"Bad request"},"401":{"content":{"application/json":{"schema":{"type":"object","$ref":"#/components/schemas/ErrorResponse"}}},"description":"Unauthorized"},"403":{"content":{"application/json":{"schema":{"type":"object","$ref":"#/components/schemas/ErrorResponse"}}},"description":"Forbidden"},"404":{"content":{"application/json":{"schema":{"type":"object","$ref":"#/components/schemas/ErrorResponse"}}},"description":"Not found"},"429":{"content":{"application/json":{"schema":{"type":"object","$ref":"#/components/schemas/ErrorResponse"}}},"description":"Too many requests"},"500":{"content":{"application/json":{"schema":{"type":"object","$ref":"#/components/schemas/ErrorResponse"}}},"description":"Internal server error"}},"summary":"Delete a datasource role","tags":["Datasources"]}}}}
```

## Get a datasource

> 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

```json
{"openapi":"3.1.0","info":{"title":"Soda Cloud API v3","version":"v1"},"tags":[{"description":"Soda Cloud API Datasource Endpoints","name":"Datasources"}],"servers":[{"description":"Cloud EU","url":"https://cloud.soda.io"},{"description":"Cloud US","url":"https://cloud.us.soda.io"}],"security":[{"basicAuthApiKey":[]},{"cookieToken":[]}],"components":{"securitySchemes":{"basicAuthApiKey":{"scheme":"basic","type":"http"},"cookieToken":{"in":"cookie","name":"token","type":"apiKey"}},"schemas":{"PublicApiGetDatasourceResponse":{"type":"object","properties":{"datasource":{"type":"object","$ref":"#/components/schemas/PublicApiDatasourceDTO"}}},"PublicApiDatasourceDTO":{"type":"object","properties":{"createdAt":{"type":"string","format":"date-time"},"id":{"type":"string"},"label":{"type":"string"},"name":{"type":"string"},"owner":{"type":"object","$ref":"#/components/schemas/UserContentDTO"},"type":{"type":"object","$ref":"#/components/schemas/PublicApiDatasourceTypeDTO"},"updatedAt":{"type":"string","format":"date-time"},"version":{"type":"object","$ref":"#/components/schemas/ModelVersionDTO","description":"The Soda model version of the datasource: `3` or `4`."}}},"UserContentDTO":{"type":"object","properties":{"email":{"type":"string"},"firstName":{"type":"string"},"fullName":{"type":"string"},"lastName":{"type":"string"},"userId":{"type":"string"}},"required":["email","userId"]},"PublicApiDatasourceTypeDTO":{"type":"string","enum":["bigquery","mysql","mariadb","postgres","snowflake","dask","spark","sparkdf","redshift","duckdb","presto","oracle","athena","trino","dremio","vertica","denodo","db2","db2z","sqlserver","databricks","synapse","fabric","hana","salesforce"]},"ModelVersionDTO":{"type":"string","enum":["3","4"]},"ErrorResponse":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"}}}}},"paths":{"/api/v1/datasources/{datasourceId}":{"get":{"description":"This endpoint allows you to retrieve a specific datasource by its ID.\n\nA datasource that is being deleted returns `400` with error code `resource_in_deletion` until the deletion has finished, after which it returns `404`.\n\n## Authorization\n\nUsers with the **View** permission on the datasource can retrieve its details.\n\n## Authentication\n\nUser authentication required: `true`\n\nThis 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.\n\n## Tags\n\n`Datasources`\n\n## Rate limiting\n\n1000 requests/60 seconds","operationId":"GET/api/v1/datasources/{datasourceId}","parameters":[{"in":"path","name":"datasourceId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","$ref":"#/components/schemas/PublicApiGetDatasourceResponse"}}},"description":"Successful response"},"400":{"content":{"application/json":{"schema":{"type":"object","$ref":"#/components/schemas/ErrorResponse"}}},"description":"Bad request"},"401":{"content":{"application/json":{"schema":{"type":"object","$ref":"#/components/schemas/ErrorResponse"}}},"description":"Unauthorized"},"403":{"content":{"application/json":{"schema":{"type":"object","$ref":"#/components/schemas/ErrorResponse"}}},"description":"Forbidden"},"404":{"content":{"application/json":{"schema":{"type":"object","$ref":"#/components/schemas/ErrorResponse"}}},"description":"Not found"},"429":{"content":{"application/json":{"schema":{"type":"object","$ref":"#/components/schemas/ErrorResponse"}}},"description":"Too many requests"},"500":{"content":{"application/json":{"schema":{"type":"object","$ref":"#/components/schemas/ErrorResponse"}}},"description":"Internal server error"}},"summary":"Get a datasource","tags":["Datasources"]}}}}
```

## List datasource responsibilities

> 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

```json
{"openapi":"3.1.0","info":{"title":"Soda Cloud API v3","version":"v1"},"tags":[{"description":"Soda Cloud API Datasource Endpoints","name":"Datasources"}],"servers":[{"description":"Cloud EU","url":"https://cloud.soda.io"},{"description":"Cloud US","url":"https://cloud.us.soda.io"}],"security":[{"basicAuthApiKey":[]},{"cookieToken":[]}],"components":{"securitySchemes":{"basicAuthApiKey":{"scheme":"basic","type":"http"},"cookieToken":{"in":"cookie","name":"token","type":"apiKey"}},"schemas":{"PublicApiDatasourceResponsibilitiesResponse":{"type":"object","properties":{"content":{"type":"array","items":{"type":"object","$ref":"#/components/schemas/DatasourceResponsibilityContentDTO"}},"first":{"type":"boolean"},"last":{"type":"boolean"},"number":{"type":"integer","format":"int32"},"size":{"type":"integer","format":"int32"},"totalElements":{"type":"integer","format":"int32"},"totalPages":{"type":"integer","format":"int32"}},"required":["content","first","last","number","size","totalElements","totalPages"]},"DatasourceResponsibilityContentDTO":{"type":"object","properties":{"managed":{"type":"boolean"},"role":{"type":"object","$ref":"#/components/schemas/DatasourceRoleContentDTO"},"type":{"type":"object","$ref":"#/components/schemas/ResponsibilityTypeDTO"},"userGroupId":{"type":"string"},"userId":{"type":"string"}},"required":["managed","role","type"]},"DatasourceRoleContentDTO":{"type":"object","properties":{"createDatasets":{"type":"boolean"},"deleteDatasource":{"type":"boolean"},"id":{"type":"string"},"manageDatasourceSettings":{"type":"boolean"},"managePermissions":{"type":"boolean"},"name":{"type":"string"},"viewDatasource":{"type":"boolean"}},"required":["id","name"]},"ResponsibilityTypeDTO":{"type":"string","enum":["user","userGroup"]},"ErrorResponse":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"}}}}},"paths":{"/api/v1/datasources/{datasourceId}/responsibilities":{"get":{"description":"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.\n\nThis GET is a paginated API that uses the following parameters to request specific details:\n\n- `size`: Supply an integer value between 1 and 100, inclusive. The default value is 100.\n\n- `page`: Supply an integer value. The default value is 0.\n\n## Authorization\n\nSoda only returns the datasource responsibilities to which the user has **View datasource** permissions. Soda Cloud Admins have access to all datasource responsibilities.\n\n## Authentication\n\nUser authentication required: `true`\n\nThis 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.\n\n## Tags\n\n`Datasources`\n\n## Rate limiting\n\n100 requests/60 seconds","operationId":"GET/api/v1/datasources/{datasourceId}/responsibilities","parameters":[{"in":"path","name":"datasourceId","required":true,"schema":{"type":"string"}},{"in":"query","name":"page","schema":{"type":"integer","format":"int32"}},{"in":"query","name":"size","schema":{"type":"integer","format":"int32"}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","$ref":"#/components/schemas/PublicApiDatasourceResponsibilitiesResponse"}}},"description":"Successful response"},"400":{"content":{"application/json":{"schema":{"type":"object","$ref":"#/components/schemas/ErrorResponse"}}},"description":"Bad request"},"401":{"content":{"application/json":{"schema":{"type":"object","$ref":"#/components/schemas/ErrorResponse"}}},"description":"Unauthorized"},"403":{"content":{"application/json":{"schema":{"type":"object","$ref":"#/components/schemas/ErrorResponse"}}},"description":"Forbidden"},"404":{"content":{"application/json":{"schema":{"type":"object","$ref":"#/components/schemas/ErrorResponse"}}},"description":"Not found"},"429":{"content":{"application/json":{"schema":{"type":"object","$ref":"#/components/schemas/ErrorResponse"}}},"description":"Too many requests"},"500":{"content":{"application/json":{"schema":{"type":"object","$ref":"#/components/schemas/ErrorResponse"}}},"description":"Internal server error"}},"summary":"List datasource responsibilities","tags":["Datasources"]}}}}
```

## Update datasource responsibilities

> 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

```json
{"openapi":"3.1.0","info":{"title":"Soda Cloud API v3","version":"v1"},"tags":[{"description":"Soda Cloud API Datasource Endpoints","name":"Datasources"}],"servers":[{"description":"Cloud EU","url":"https://cloud.soda.io"},{"description":"Cloud US","url":"https://cloud.us.soda.io"}],"security":[{"basicAuthApiKey":[]},{"cookieToken":[]}],"components":{"securitySchemes":{"basicAuthApiKey":{"scheme":"basic","type":"http"},"cookieToken":{"in":"cookie","name":"token","type":"apiKey"}},"schemas":{"PublicApiUpdateDatasourceResponsibilitiesRequestDTO":{"type":"object","properties":{"responsibilities":{"type":"array","items":{"type":"object","$ref":"#/components/schemas/DatasourceResponsibilityContentRequestDTO"}}},"required":["responsibilities"]},"DatasourceResponsibilityContentRequestDTO":{"type":"object","properties":{"roleId":{"type":"string"},"type":{"type":"object","$ref":"#/components/schemas/ResponsibilityTypeDTO"},"userGroupId":{"type":"string"},"userId":{"type":"string"}},"required":["roleId","type"]},"ResponsibilityTypeDTO":{"type":"string","enum":["user","userGroup"]},"ErrorResponse":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"}}}}},"paths":{"/api/v1/datasources/{datasourceId}/responsibilities":{"post":{"description":"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.\n\n**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.\n\n## Authorization\n\nOnly 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.\n\n## Authentication\n\nUser authentication required: `true`\n\nThis 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.\n\n## Tags\n\n`Datasources`\n\n## Rate limiting\n\n100 requests/60 seconds","operationId":"POST/api/v1/datasources/{datasourceId}/responsibilities","parameters":[{"in":"path","name":"datasourceId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","$ref":"#/components/schemas/PublicApiUpdateDatasourceResponsibilitiesRequestDTO"}}},"required":true},"responses":{"201":{"description":"Created","headers":{"Location":{"schema":{"type":"string"}}}},"400":{"content":{"application/json":{"schema":{"type":"object","$ref":"#/components/schemas/ErrorResponse"}}},"description":"Bad request"},"401":{"content":{"application/json":{"schema":{"type":"object","$ref":"#/components/schemas/ErrorResponse"}}},"description":"Unauthorized"},"403":{"content":{"application/json":{"schema":{"type":"object","$ref":"#/components/schemas/ErrorResponse"}}},"description":"Forbidden"},"404":{"content":{"application/json":{"schema":{"type":"object","$ref":"#/components/schemas/ErrorResponse"}}},"description":"Not found"},"429":{"content":{"application/json":{"schema":{"type":"object","$ref":"#/components/schemas/ErrorResponse"}}},"description":"Too many requests"},"500":{"content":{"application/json":{"schema":{"type":"object","$ref":"#/components/schemas/ErrorResponse"}}},"description":"Internal server error"}},"summary":"Update datasource responsibilities","tags":["Datasources"]}}}}
```


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.soda.io/soda-documentation/soda-v3/soda-cloud-api-v1/datasources.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
