Skip to main content
Early Access - The Dcycle CLI is currently available for enterprise customers. Contact us to learn more about access.

Overview

The facility command manages physical locations in your organization. Facilities are the primary anchors for energy invoices, Scope 1 and Scope 2 emissions, and logistic hubs.
dcy facility <subcommand> [flags]

Available Commands

CommandDescription
listList facilities
showShow facility details
createCreate a facility
editEdit a facility
deleteDelete a facility

List Facilities

dcy facility list [flags]

# Aliases
dcy facility ls

Examples

# List all facilities
dcy facility list

# Filter by status
dcy facility list --status active

# Filter by name
dcy facility list --name "Madrid"

# By date range
dcy facility list --start-date 2025-01-01 --end-date 2025-12-31

# Pagination
dcy facility list --page 2 --size 100

# JSON output for scripting
dcy facility list --format json | jq '.[] | {id, name, type}'

Flags

FlagShortDefaultDescription
--name-nFilter by name
--statusFilter by status (active, inactive)
--start-dateFilter from date (YYYY-MM-DD)
--end-dateFilter to date (YYYY-MM-DD)
--page1Page number
--size50Items per page
--orgOrganization ID override

Output

Showing 3 of 3 facilities in Acme Corp
abc123-def456-... | Madrid HQ           | office    | ES | active
def456-ghi789-... | Barcelona Warehouse | warehouse | ES | active
ghi789-jkl012-... | Valencia Factory    | factory   | ES | active
Columns: ID, name, type, country, status.

Show Facility Details

dcy facility show <facility-id>

Examples

dcy facility show 00000000-0000-0000-0000-000000000000

# JSON output
dcy facility show <facility-id> --format json

Flags

FlagDescription
--orgOrganization ID override

Output

ID: abc123-def456-...
Name: Madrid HQ
Type: office
Country: ES
Status: active
Address: Calle Gran Via 1, Madrid
Categories: scope1, scope2
CUPS: ES0021000012345678AB
CO2e: 45.20000 tCO2e
Invoices Count: 12
Created: 2024-01-15
Updated: 2024-06-01

Create Facility

dcy facility create [flags]

Examples

dcy facility create --name "Madrid HQ" --type office

dcy facility create \
  --name "Madrid HQ" \
  --type office \
  --country ES \
  --address "Calle Gran Via 1, Madrid"

dcy facility create \
  --name "Warehouse" \
  --type warehouse \
  --country ES \
  --categories "scope1,scope2"

Flags

FlagShortRequiredDefaultDescription
--name-nYesFacility name
--type-tYesFacility type (e.g. office, warehouse, factory)
--countryNoESCountry code
--address-aNoPhysical address
--statusNoactiveactive or inactive
--categoriesNoComma-separated categories
--logistic-factorNoLogistic factor
--orgNoOrganization ID override

Edit Facility

dcy facility edit <facility-id> [flags]

Examples

dcy facility edit <facility-id> --name "Madrid HQ v2"
dcy facility edit <facility-id> --status active --country FR
dcy facility edit <facility-id> --categories "scope1,scope2,scope3"

Flags

Accepts the same flags as create (all optional — only provided fields are updated).

Delete Facility

dcy facility delete <facility-id> [flags]

# Aliases
dcy facility rm <facility-id>

Examples

# Interactive confirmation
dcy facility delete <facility-id>

# Skip confirmation
dcy facility delete <facility-id> --yes

Flags

FlagShortDefaultDescription
--yes-yfalseSkip confirmation prompt
--orgOrganization ID override

Output

Confirmation prompt:
Delete facility Madrid HQ (abc123-...)? [y/N]
facility deleted successfully: Madrid HQ

Common Options

All facility commands support:
FlagDescription
--format jsonJSON output (default: text)
--verboseShow HTTP request/response details
--timeoutRequest timeout in seconds

Workflows

Export Facilities for Reporting

# Export all facilities as JSON
dcy facility list --format json > facilities.json

# Count facilities by type
dcy facility list --format json | jq 'group_by(.type) | map({type: .[0].type, count: length})'

# Find facilities without emissions
dcy facility list --format json | jq '[.[] | select(.co2e == null or .co2e == 0)]'

Facility Lifecycle

# 1. Create a new facility
dcy facility create --name "New Office" --type office --country ES

# 2. Link invoices and data (via dcy invoice, dcy file, etc.)

# 3. Review facility details
dcy facility show <facility-id>

# 4. Deactivate when no longer needed
dcy facility edit <facility-id> --status inactive

Piping with jq

# List facility IDs for scripting
dcy facility list --format json | jq -r '.[].id'

# Get facility names and countries
dcy facility list --format json | jq '.[] | {name, country, type}'

# Count invoices per facility
dcy facility list --format json | jq '.[] | {name, invoices: .invoices_length}'