Command Line tool for importing and exporting APIs/Applications/API Products in between different API environments of WSO2 API Manager and managing WSO2 Micro Integrator
Select a generated archive suitable for your platform (Mac, Windows, Linux) and extract it to a desired
location and cd
into it.
Then execute apictl
to start the application.
NOTE: Execute
./apictl
if the working directory is the same where the executable residesAdd the location of extracted folder to your system's $PATH variable to access the executable from anywhere
Execute apictl --help
for further instructions.
Add environments by either manually editing $HOME/.wso2apictl/main_config.yaml
or using the
command
apictl add env
.
NOTE: Directory structure for configuration files (
$HOME/.wso2apictl
) will be created upon execution ofapictl
Execute apictl add env --help
for detailed instructions
You can either provide only the 2 flags
--apim
and--token
, or all the other 5 flags (--registration
,--publisher
,--devportal
,--admin
,--token
) without providing--apim
flag. If you are omitting any of --registration --publisher --devportal --admin flags, you need to specify --apim flag with the API Manager endpoint.To add a micro integrator instance to an environment you can use the--mi
flag.
Copy the file apictl_bash_completion.sh
to /etc/bash_completion.d/
and source it
with
source /etc/bash_completion.d/apictl_bash_completion.sh
to enable bash
auto-completion.
apictl [command]
--verbose
Enable verbose logs (Provides more information on execution)
--insecure, -k
Allow connections to SSL sites without certs
--help, -h
Display information and example usage of a command
Flags:
Optional:
--username, -u
--password, -p
NOTE: user will be prompted to enter credentials if they are not provided with these flags
Examples:
apictl login dev -u admin -p admin
apictl login dev -u admin
apictl login dev
cat ~/.mypassword | apictl login dev -u admin
Examples:
apictl logout dev
Flags:
Optional:
--definition, -d
--force, -f
--initial-state
--oas
Examples:
apictl init myapi --oas petstore.yaml
apictl init Petstore --oas https://petstore.swagger.io/v2/swagger.json
apictl init Petstore --oas https://petstore.swagger.io/v2/swagger.json --initial-state=PUBLISHED
apictl init MyAwesomeAPI --oas ./swagger.yaml -d definition.yaml
Flags:
Required:
--name, -n
--version, -v
--environment, -e
Optional:
--rev
--latest
--preserve-status
--format
--provider, -r
Examples:
apictl export api -n TestAPI -v 1.0.1 -e staging
apictl export api -n TestAPI -v 1.0.1 --rev 6 -r admin -e staging
Flags:
Required:
--file, -f
--environment, -e
Optional:
--rotate-revision
--skip-deployments
--params
--preserve-provider
--update
--skip-cleanup
Examples:
apictl import api -f qa/TwitterAPI.zip -e dev
apictl import api -f staging/FacebookAPI.zip -e production
apictl import api -f ~/myapi -e production --update
apictl import api -f ~/myapi -e production --update --rotate-revision
Flags:
Required:
--name, -n
--environment, -e
Optional:
--rev
--latest
--provider, -r
--format
Examples:
apictl export api-product -n LeasingAPIProduct --rev 2 -e dev
apictl export api-product -n CreditAPIProduct -v 1.0.0 -r admin --latest -e production
Flags:
Required:
--file, -f
--environment, -e
Optional:
--rotate-revision
--import-apis
--preserve-provider
--skip-cleanup
--update-api-product
--update-apis
Examples:
apictl import api-product -f qa/LeasingAPIProduct.zip -e dev
apictl import api-product -f staging/CreditAPIProduct.zip -e production --update-api-product
apictl import api-product -f ~/myapiproduct -e production
apictl import api-product -f ~/myapiproduct -e production --update-api-product --update-apis
Flags:
Required:
--name, -n
--owner, -o
--environment, -e
Optional:
--with-keys
--format
Examples:
apictl export app -n SampleApp -o admin -e dev
apictl export app -n SampleApp -o admin -e prod
Flags:
Required
--file, -f
--environment, -e
Optional
--skip-subscriptions, -s
--owner, -o
--preserve-owner, -r
--file, -f
--environment, -e
--skip-cleanup
--skip-keys
--update
Examples:
apictl import app -f qa/apps/sampleApp.zip -e dev
apictl import app -f staging/apps/sampleApp.zip -e prod -o testUser -u admin -p admin
apictl import app -f qa/apps/sampleApp.zip --preserve-owner --skip-subscriptions -e staging
Flags:
Required:
--environment, -e
Optional:
--format
--limit, -l
--query, -q
Examples:
apictl get apis -e dev
apictl get apis -e dev -q version:1.0.0
apictl get apis -e prod -q provider:admin
apictl get apis -e prod -l 100
apictl get apis -e staging
Flags:
Required:
--environment, -e
Optional:
--format
--limit, -l
--query, -q
Examples:
apictl get api-products -e dev
apictl get api-products -e dev -q provider:devops
apictl get api-products -e prod -q provider:admin context:/myproduct
apictl get api-products -e prod -l 25
apictl get api-products -e staging
Flags:
Required
--environment, -e
--owner, -o
Optional
--format
--limit, -l
--owner, -o
Examples:
apictl get apps -e dev
apictl get apps -e dev -o sampleUser
apictl get apps -e prod -o sampleUser
apictl get apps -e staging -o sampleUser
apictl get apps -e dev -l 40
Flags:
Required
--name, -n
--version, -v
--environment
Optional
--format
--provider, -p
--query, -q
Examples:
apictl get api-revisions -n PizzaAPI -v 1.0.0 -e dev
apictl get api-revisions -n TwitterAPI -v 1.0.0 -r admin -e dev
apictl get api-revisions -n TwitterAPI -v 1.0.0 -r admin -e dev -q deployed:true
Flags:
Required
--name, -n
--version, -v
--environment
Optional
--format
--provider, -p
--query, -q
Examples:
apictl get api-product-revisions -n ShopProduct -v 1.0.0 -e dev
apictl get api-product-revisions -n MarketProduct -v 1.0.0 -r admin -e dev
apictl get api-product-revisions -n DesingProduct -v 1.0.0 -r admin -e dev -q deployed:true
Flags:
None
Example:
apictl get envs
Flags:
Required:
To add an API Manager
(either)
--apim (API Manager endpoint)
OR (the following 4)
--registration https://localhost:9443 \
--publisher https://localhost:9443 \
--devportal https://localhost:9443 \
--admin https://localhost:9443
To add a Micro Integrator
--mi (MI Management endpoint)
Optional:
--token (Token Endpoint)
Examples:
apictl add env dev \
--apim https://localhost:9443
apictl add env dev \
--mi https://localhost:9164
apictl add env prod \
--apim https://apim.com:9443 \
--mi https://localhost:9164
apictl add env staging \
--registration https://idp.com:9443 \
--publisher https://apim.com:9443 \
--devportal https://apps.com:9443 \
--admin https://apim.com:9443 \
--token https://gw.com:8243/token \
--mi https://localhost:9164
apictl add env prod \
--apim https://apim.com:9443 \
--registration https://idp.com:9443 \
--token https://gw.com:8243/token
Examples:
apictl remove env dev
Flags
--environment, -e
Examples:
apictl reset-user -e dev
apictl version
Flags
--http-request-timeout
--tls-renegotiation-mode
--export-directory
--vcs-config-path string
--vcs-deletion-enabled
Examples:
apictl set --http-request-timeout 3600 --export-directory /home/user/exported-apis
apictl set --http-request-timeout 5000 --export-directory C:\Documents\exported
apictl set --http-request-timeout 5000
apictl set --tls-renegotiation-mode freely
apictl set --vcs-deletion-enabled=true
apictl set --vcs-config-path /home/user/custom/vcs-config.yaml
Flags:
Required:
--name, -n
--environment, -e
Optional:
--version, -v
--provider, -r
--token, -t
Examples:
apictl get keys -n PizzaShackAPI --version 1.0.0 -e dev --provider admin
Flags:
Required:
--name, -n
--version, -v
--environment, -e
Optional:
--provider, -r
NOTE: User will be prompted to enter credentials if the user is not logged in to the environment.
Examples:
apictl delete api -n TestAPI -v 1.0.0 -r admin -e staging
apictl delete api -n TestAPI -v 1.0.0 -e production
Flags:
Required:
--name, -n
--environment, -e
Optional:
--provider, -r
--version, -v
NOTE: User will be prompted to enter credentials if the user is not logged in to the environment.
Examples:
apictl delete api-product -n TwitterAPI -r admin -e dev
apictl delete api-product -n FacebookAPI -v 1.0.0 -e production
Flags:
Required:
--name, -n
--environment, -e
Optional:
--owner, -o
NOTE: User will be prompted to enter credentials if the user is not logged in to the environment.
Examples:
apictl delete app -n TestAPI -o admin -e staging
apictl delete app -n TestAPI -e production
Flags:
Required:
--action, -a
--name, -n
--version, -v
--environment, -e
Optional:
--provider, -r
NOTE: User will be prompted to enter credentials if the user is not logged in to the environment.
Examples:
apictl change-status api -a Publish -n TestAPI -v 1.0.0 -r admin -e staging
apictl change-status api -a Publish -n TestAPI -v 1.0.0 -e production
Flags:
Required:
--source, -s
Optional:
--destination, -d
Examples:
apictl gen deployment-dir -s ~/PizzaShackAPI_1.0.0.zip
apictl gen deployment-dir -s ~/PizzaShackAPI_1.0.0.zip -d /home/Deployment_repo/Dev
Flags:
Required:
--source, -s
Optional:
--destination, -d
Examples:
apictl bundle -s ~/PizzaShackAPI_1.0.0
apictl bundle -s /home/prod/APIs/API1-1.0.0 -d /home/prod/Projects/
Flags:
Required:
--name, -n
--stage, -s
Optional:
--force, -f
Examples:
apictl aws init -n Petstore -s Demo
apictl aws init --name Petstore --stage Demo
apictl aws init --name Shopping --stage Live
Examples:
apictl secret init
Flags:
Optional:
--cipher, -c
--from-file, -f
--output, -o
Examples:
apictl secret create
apictl secret create -o file
apictl secret create -o k8
apictl secret create -f keys.properties -o k8
Flags:
Optional:
--username, -u
--password, -p
NOTE: user will be prompted to enter credentials if they are not provided with these flags
Examples:
apictl mi login dev -u admin -p admin
apictl mi login dev -u admin
apictl mi login dev
cat ~/.mypassword | apictl mi login dev -u admin
Examples:
apictl mi logout dev
Flags:
Required:
--environment, -e
Optional:
--format
Examples:
apictl mi get apis -e dev
apictl mi get apis SampleAPI -e dev
Flags:
Required:
--environment, -e
Optional:
--format
Examples:
apictl mi get composite-apps -e dev
apictl mi get composite-apps SampleApp -e dev
Flags:
Required:
--environment, -e
Optional:
--format
Examples:
apictl mi get connectors -e dev
Flags:
Required:
--environment, -e
Optional:
--format
Examples:
apictl mi get data-services -e dev
apictl mi get data-services SampleDataService -e dev
Flags:
Required:
--environment, -e
Optional:
--format
Examples:
apictl mi get endpoints -e dev
apictl mi get endpoints SampleEndpoint -e dev
Flags:
Required:
--environment, -e
Optional:
--format
Examples:
apictl mi get inbound-endpoints -e dev
apictl mi get inbound-endpoints SampleInboundEndpoint -e dev
Flags:
Required:
--environment, -e
Optional:
--format
Examples:
apictl mi get local-entries -e dev
apictl mi get local-entries SampleLocalEntry -e dev
Flags:
Required:
--environment, -e
Optional:
--format
Examples:
apictl mi get log-levels org-apache-coyote -e dev
Flags:
Required:
--environment, -e
Optional:
--format
--path, -p
Examples:
apictl mi get logs -e dev
apictl mi get logs wso2error.log -p ./logs -e dev
Flags:
Required:
--environment, -e
Optional:
--format
Examples:
apictl mi get message-processors -e dev
apictl mi get message-processors TestMessageProcessor -e dev
Flags:
Required:
--environment, -e
Optional:
--format
Examples:
apictl mi get message-stores -e dev
apictl mi get message-stores TestMessageStore -e dev
Flags:
Required:
--environment, -e
Optional:
--format
Examples:
apictl mi get proxy-services -e dev
apictl mi get proxy-services SampleProxy -e dev
Flags:
Required:
--environment, -e
Optional:
--format
Examples:
apictl mi get sequences -e dev
apictl mi get sequences SampleSequence -e dev
Flags:
Required:
--environment, -e
Optional:
--format
Examples:
apictl mi get tasks -e dev
apictl mi get tasks SampleTask -e dev
Flags:
Required:
--environment, -e
Optional:
--format
Examples:
apictl mi get templates -e dev
apictl mi get templates endpoint -e dev
apictl mi get templates endpoint SampleEPTemplate -e dev
Flags:
Required:
--environment, -e
Optional:
--format
Examples:
apictl mi get transaction-counts -e dev
apictl mi get transaction-counts 2020 06 -e dev
Flags:
Required:
--environment, -e
Optional:
--format
--path, -p
Examples:
apictl mi get transaction-reports 2020-01 2020-05 -e dev
apictl mi get transaction-reports 2020-05 2020-06 --path ./reports -e dev
Flags:
Required:
--environment, -e
Optional:
--format
--role, -r
--pattern, -p
--domain, -d
Examples:
apictl mi get users capp-tester -e dev
apictl mi get users capp-tester -r admin -e dev
apictl mi get users capp-tester -p mi -e dev
apictl mi get users capp-tester -d wso2.com -e dev
Flags:
Required:
--environment, -e
Optional:
--domain, -d
Examples:
apictl mi get roles -e dev
apictl mi get roles tester -e dev
apictl mi get roles tester -d wso2.com -e dev
Flags:
Required:
--environment, -e
Examples:
apictl mi add user capp-tester -e dev
Flags:
Required:
--environment, -e
Examples:
apictl mi add role tester -e dev
Flags:
Required:
--environment, -e
Examples:
apictl mi add log-level synapse-api org.apache.synapse.rest.API DEBUG -e dev
Flags:
Required:
--environment, -e
Examples:
apictl mi update log-level org-apache-coyote DEBUG -e dev
Flags:
Required:
--environment, -e
Examples:
apictl mi update hashicorp-secret secret_id -e dev
Flags:
Required:
--environment, -e
Examples:
apictl mi update user capp-tester -e dev
Flags:
Required:
--environment, -e
Examples:
apictl mi delete user capp-developer -e dev
Flags:
Required:
--environment, -e
Optional:
--domain, -d
Examples:
apictl mi delete role capp-tester -e dev
apictl mi delete role capp-tester -d wso2.com -e dev
Flags:
Required:
--environment, -e
Examples:
apictl mi activate endpoint TestEP -e dev
Flags:
Required:
--environment, -e
Examples:
apictl mi activate proxy-service SampleProxy -e dev
Flags:
Required:
--environment, -e
Examples:
apictl mi activate message-processor TestMessageProcessor -e dev
Flags:
Required:
--environment, -e
Examples:
apictl mi deactivate endpoint TestEP -e dev
Flags:
Required:
--environment, -e
Examples:
apictl mi deactivate proxy-service SampleProxy -e dev
Flags:
Required:
--environment, -e
Examples:
apictl mi deactivate message-processor TestMessageProcessor -e dev