5-Minute Quickstart with curl
This path uses curl plus a user access token. It is useful for smoke tests, shell scripts, and quick debugging without installing the SDKs.
Step 1: Set Your Environment
export DATAFUSE_API_KEY="unused_for_app_routes"
export DATAFUSE_API_URL="https://api.datafuse.xyz"
export DF_TOKEN="your_user_access_token"
!TIP If you run Datafuse in a private VPC, point
DATAFUSE_API_URLat your internal gateway instead of the public host.
Step 2: List Integrations
Use the integrations endpoint to discover the integration you want to use.
curl -sS "$DATAFUSE_API_URL/api/v1/integrations" \
-H "Authorization: Bearer $DF_TOKEN"
Pick an integration id from the response and export it for the next step.
export INTEGRATION_ID="your_integration_id"
Step 3: Resolve Tools
The resolve step returns the available tool slugs for the selected integration.
curl -sS -X POST "$DATAFUSE_API_URL/api/v1/integrations/$INTEGRATION_ID/resolve-tools" \
-H "Authorization: Bearer $DF_TOKEN"
If you have jq installed, capture the first tool automatically:
TOOL_KEY=$(curl -sS -X POST "$DATAFUSE_API_URL/api/v1/integrations/$INTEGRATION_ID/resolve-tools" \
-H "Authorization: Bearer $DF_TOKEN" | jq -r '.[0].slug')
Step 4: Invoke the Tool
Feed the selected tool_key and a JSON arguments object into the invoke endpoint. Swap the payload to match the selected tool's schema.
curl -sS -X POST "$DATAFUSE_API_URL/api/v1/integrations/$INTEGRATION_ID/invoke" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $DF_TOKEN" \
-d '{
"tool_key": "'"$TOOL_KEY"'",
"arguments": {
"channel": "#engineering",
"text": "Deployment is complete and staging is ready for validation."
}
}'
If you want to skip jq, paste the tool slug from the resolve response directly into tool_key.
Next Steps
- Continue with the client quickstart if you want the same flow in Python or TypeScript.
- Review the client overview for the shared v1 route surface.