Skip to main content
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

FieldTypeRequiredDescription
client_idstringYesOAuth client ID from Databricks
default_warehousestringYesWarehouse to use when no routing directive specified
allowed_warehousesstring[]NoList 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}