Use Fusion DevTools CLI (fdev) for API testing, token acquisition, service discovery, and person lookup during development. USE FOR: calling Fusion REST APIs, getting access tokens as JSON, discovering services and environments, resolving persons, PIM role activation. DO NOT USE FOR: modifying backend service code, deploying services, infrastructure changes, CI/CD pipeline configuration, or Service Bus operations.
70
86%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
View guide
Passed
No findings from the security scan
Use when you need to interact with Fusion platform services from the command line — calling APIs, getting tokens, discovering services, or looking up persons.
Typical triggers:
Implicit triggers:
Install fdev as a .NET global tool:
dotnet tool install --global --add-source "https://statoil-proview.pkgs.visualstudio.com/Fusion%20-%20Packages/_packaging/Fusion-Public/nuget/v3/index.json" fusion-devtoolsUpdate to latest:
dotnet tool update --global --add-source "https://statoil-proview.pkgs.visualstudio.com/Fusion%20-%20Packages/_packaging/Fusion-Public/nuget/v3/index.json" fusion-devtoolsAuthenticate before first use:
fdev loginUse fdev rest to call any Fusion service. Service discovery resolves the base URL and acquires a token automatically.
fdev rest <serviceKey> '<path>'The path must be quoted in zsh/bash to prevent ? glob expansion.
Examples:
# GET from people service (production)
fdev rest people '/persons/me?api-version=3.0'
# POST with JSON body
fdev rest context '/contexts?api-version=1.0' -m post -b '{"query":"test"}'
# POST with body from file
fdev rest people '/persons/search?api-version=3.0' -m post -b @request.json
# Different environment
fdev rest people '/persons/me?api-version=3.0' -e ci
# Save response to file
fdev rest people '/persons/me?api-version=3.0' -o response.json
# Full URL mode (skip discovery)
fdev rest --url https://httpbin.org/get --no-auth
# Custom scope override
fdev rest people '/persons/me?api-version=3.0' --scope api://my-app/.defaultKey options: -m method, -b body (@file supported), -e environment, --url full URL mode, --no-auth skip auth, --scope override scope, -o output file, --header KEY=VALUE.
Use fdev get-access-token for structured JSON token output, similar to az account get-access-token. Output is pipe-friendly.
# Token for a specific service (resolves scope via discovery)
fdev get-access-token --service-key people
# Token with explicit scope
fdev get-access-token --scope api://97978493-9777-4d48-b38a-67b0b9cd88d2/.default
# Extract just the token
fdev get-access-token --service-key people | jq -r '.accessToken'Output format:
{
"accessToken": "eyJ...",
"expiresOn": "2026-05-15T12:00:00+00:00",
"expiresOnUnix": 1778846400,
"scope": "api://app-id/.default",
"tokenType": "Bearer"
}# List all environments
fdev disc envs
# List services in an environment (JSON output)
# Note: disc subcommand uses single-dash flags (-json, -out) — this is by design
fdev disc env list fprd -json
# List services showing key and URI
fdev disc env list fprd -out ku# Resolve by email
fdev persons resolve user@equinor.com
# Search by name
fdev persons search "John"Elevate Azure access when needed for admin operations:
fdev pim azure activateSafety: always confirm with the user before running PIM activation — this grants elevated access.
For quick clipboard-based token workflows (existing command):
fdev token # test environment token
fdev token --prod # production tokenBefore using any fdev command, verify it is installed:
fdev --versionIf not installed, show the install command from Prerequisites. If authentication is needed, run fdev login.
| Need | Command |
|---|---|
| Call a Fusion API and see the response | fdev rest <service> '<path>' |
| Get a token for scripting/piping | fdev get-access-token --service-key <key> |
| Find available services | fdev disc env list <env> |
| Find service base URL and scope | fdev disc env list <env> -json then filter by key |
| Look up a person | fdev persons resolve <email> |
| Quick clipboard token | fdev token |
Add --verbose to any command for diagnostic output including cache hit/miss, full request/response headers, and token details.
fdev rest people '/persons/me?api-version=3.0' --verboseService discovery results are cached locally (environments: 24h, services: 1h). Use --no-cache to force fresh lookups:
fdev rest people '/persons/me?api-version=3.0' --no-cache| Key | Purpose | Notes |
|---|---|---|
ci | Continuous integration / development | Least stable, latest changes |
fqa | Quality assurance | Pre-production validation |
fprd | Production | Default environment |
Default environment is fprd for all commands. Override with -e <env>.
See references/ for detailed command options and workflow recipes:
command-reference.md — compact command cheat sheet with all optionsagentic-patterns.md — common agentic workflow recipes? in shell commands to prevent glob expansion--no-auth only for genuinely public endpointsfdev pim azure activate (elevated access)bf61e57
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.