Beta ProductSQL Proxy is currently in beta. API endpoints may change.
Service principal mappings configure which warehouses a service principal can access and which warehouse to use by default.
List Service Principals
GET /admin/service-principals
curl -X GET \
-H "Authorization: Bearer <admin-token>" \
https://sqlproxy.your-company.datafold.com/admin/service-principals
Get Service Principal
GET /admin/service-principals/{client_id}
curl -X GET \
-H "Authorization: Bearer <admin-token>" \
https://sqlproxy.your-company.datafold.com/admin/service-principals/{client_id}
Create Service Principal
POST /admin/service-principals
curl -X POST \
-H "Authorization: Bearer <admin-token>" \
-H "Content-Type: application/json" \
-d '{
"client_id": "abc123-def456",
"default_warehouse": "prod-warehouse",
"allowed_warehouses": ["prod-warehouse", "dev-warehouse"]
}' \
https://sqlproxy.your-company.datafold.com/admin/service-principals
Request Body
| Field | Type | Required | Description |
|---|
client_id | string | Yes | OAuth client ID from Databricks |
default_warehouse | string | Yes | Warehouse to use when no routing directive specified |
allowed_warehouses | string[] | No | List of warehouses the SP can access. null means all warehouses. |
Update Service Principal
PUT /admin/service-principals/{client_id}
curl -X PUT \
-H "Authorization: Bearer <admin-token>" \
-H "Content-Type: application/json" \
-d '{
"default_warehouse": "new-prod-warehouse",
"allowed_warehouses": ["new-prod-warehouse", "dev-warehouse", "analytics-warehouse"]
}' \
https://sqlproxy.your-company.datafold.com/admin/service-principals/{client_id}
Delete Service Principal
DELETE /admin/service-principals/{client_id}
curl -X DELETE \
-H "Authorization: Bearer <admin-token>" \
https://sqlproxy.your-company.datafold.com/admin/service-principals/{client_id}