| name | aas-ctl |
| description | Interact with Asset Administration Shells (AAS) via the aas-ctl CLI. Use when: querying AAS repositories, listing shells or submodels, showing submodel elements, searching shells by criteria, creating or updating submodels, navigating AAS structures, configuring AAS profiles, or performing REST operations (GET/POST/PUT/PATCH) on AAS endpoints. |
| argument-hint | Describe what AAS data you want to access or modify |
AAS-CTL — Asset Administration Shell CLI
A command-line tool for browsing and interacting with Asset Administration Shell (AAS) repositories. Enables efficient access to shells, submodels, and submodel elements.
When to Use
- List, show, or search Asset Administration Shells and Submodels
- Navigate AAS structures interactively via discovery
- Create, update, or patch submodels and submodel elements
- Configure connections to different AAS repository environments
- Perform raw REST operations against AAS API endpoints
Prerequisites
aas-ctl must be installed and available in PATH
- An active profile must be configured pointing to a running AAS repository
Command Reference
Configuration
aas-ctl config list
aas-ctl config create <profile-name>
aas-ctl config select <profile-name>
aas-ctl config show
A profile stores: name, base URL, and ports for Discovery (8084), Registry (8082), SmRegistry (8083), Repository (8081), SmRepository (8081), ConceptDescriptions (8081).
Listing
aas-ctl aas list
aas-ctl sm list
aas-ctl sm list --aas <Identifier>
aas-ctl list
Showing Details
aas-ctl aas show <Identifier>
aas-ctl sm show <Identifier>
aas-ctl sm show <SmIdentifier> --elementId <ElementIDShort>
aas-ctl sm show <SmIdentifier> --elementIdx <Index>
aas-ctl sm show <SmIdentifier> --elementId <ElementIDShort> --value
aas-ctl show <Identifier>
Identifiers can be a global ID (e.g., urn:example:aas#001) or an IDShort (e.g., MyShell).
Searching / Filtering
aas-ctl search --sm <SubmodelIDShort>
aas-ctl search --sm <SmIDShort> --elementId <ElementIDShort> --value <Value>
aas-ctl search --sm <SmIDShort> --id
Discovery (Interactive Navigation)
aas-ctl discover <ShellIdentifier>
aas-ctl discover <ShellIdentifier> <SubmodelIdentifier>
aas-ctl discover <ShellIdentifier> <SubmodelIdentifier> <ElementIDShort>
Raw REST Operations
aas-ctl get <endpoint>
aas-ctl post <endpoint> '<json-data>'
cat data.json | aas-ctl post <endpoint>
aas-ctl put <endpoint> '<json-data>'
aas-ctl patch <endpoint> '<json-data>'
Output Flags (mutually exclusive)
| Flag | Effect |
|---|
--id | Print only the global ID |
--url | Print only the URL |
--json | Print full JSON representation |
Output Formats
Default format:
urn:example:aas#001<AssetAdministrationShell> MyShell
Verbose/show format (Submodel):
urn:example:sm#001<Submodel> DataSM
0 Temperature<Property>: 35.5<xs:string>
1 Pressure<MultiLanguageProperty>: 1.2<en>
2 Range<Range>: 0.0-100.0<xs:float>
Typical AI Agent Workflows
Read a specific value from an AAS
aas-ctl sm show <SubmodelIDShort> --elementId <ElementIDShort> --value
Find all shells matching criteria
aas-ctl search --sm <SubmodelIDShort> --elementId <ElementIDShort> --value <TargetValue> --id
Get full JSON for programmatic processing
aas-ctl sm show <SubmodelIdentifier> --json
Update a submodel element value
aas-ctl patch <endpoint> '<new-value>'