Devin Desktop
Note: Devin Desktop was previously known as Windsurf
By connecting Devin Desktop with DX, you can join Devin Desktop usage data with DX data to analyze usage and impact. Please refer to the API documentation below and our schema explorer to see what data DX imports.
Prerequisites
To connect Devin Desktop to DX, you need:
- a Devin Desktop service key
- allowlist DX IP addresses if your Devin Desktop instance is behind a firewall or has IP restrictions
Setup instructions
Follow the steps below to connect Devin Desktop to DX.
Step 1
Create a Devin Desktop service key from the Team settings page. Please note that Devin Desktop service keys inherit the permissions of the admin user who generates the key—in order to access analytics APIs, the admin user must have the Teams Read-only and Analytics Read permission.
Step 2
Enable individual-level analytics for your Devin Desktop account by accessing the Team management page.
Step 3
- Navigate to the connections page in DX and select “+ Connection” in the top right.
- Enter the credentials you have generated in the previous steps—refer to the information below for errors and troubleshooting.
API reference
The table below lists the specific API endpoints that are used by DX.
| Endpoint | Documentation |
|---|---|
| /api/v1/userPageAnalytics | link |
| /api/v1/cascadeAnalytics | link |
| /api/v1/Analytics | link |
| /api/v2alpha/analytics/consumption | link |
Errors
The table below lists potential error codes when adding a connection in DX.
| Error | Description |
|---|---|
invalid_credentials |
Your API credentials entered are not valid. |
invalid_configuration |
Your API token does not have the permissions required by DX. |
no_resources |
Your API token does not have access to any teams. |
Troubleshooting
I’m seeing “invalid_configuration” error from API response
This most likely means that individual-level analytics are not enabled for your Devin Desktop account. To verify, use the curl below:
curl --location 'https://server.codeium.com/api/v1/CascadeAnalytics' \
--header 'Content-Type: application/json' \
--data-raw '{
"service_key": "<YOUR-TOKEN>",
"start_timestamp": "2024-01-01T00:00:00Z",
"end_timestamp": "2025-06-10T00:00:00Z",
"emails": ["your_email"],
"query_requests": [
{
"cascade_lines": {}
}
]
}
If you see the string “Enable individual level analytics” in response, then please refer to Step 2 of this guide to enable individual metrics.