Skip to main content

Prismatic CLI Command Reference

The Prismatic CLI tool allows you to interact with the Prismatic API programmatically so you can build, deploy, and support integrations from the command line. This page lists the subcommands of prism that you can invoke. For an introduction on using the Prismatic CLI tool, see the CLI usage page.


Alerts CLI Commands

alerts:events:list

List Alert Events for an Alert Monitor

prism alerts:events:list <alertMonitorId> [--columns <string>] [--sort <string>] [--filter <string>] [--csv] [--output {csv,json,yaml}] [--extended] [--no-truncate] [--no-header]
FlagShorthandDescriptionRequired
alertMonitorIdID of an alert monitortrue
--columnsonly show provided columns (comma-separated)false
--csvoutput is csv format [alias: --output=csv]false
--extended-xshow extra columnsfalse
--filterfilter property by partial string matching, ex: name=foofalse
--no-headerhide table header from outputfalse
--no-truncatedo not truncate output to fit screenfalse
--output csv,json,yamloutput in a more machine friendly formatfalse
--sortproperty to sort by (prepend '-' for descending)false

alerts:groups:create

Create an Alert Group

prism alerts:groups:create --name <string> [--users <string>] [--webhooks <string>]
FlagShorthandDescriptionRequired
--name-nname of the group to be createdtrue
--users-uJSON-formatted list of Prismatic user IDs to alertfalse
--webhooks-wJSON-formatted list of Alert Webhook IDs to alertfalse
# Create an group for "DevOps"
prism alerts:groups:create \
--name DevOps \
--users "[\"$(prism organization:users:list \
--columns id \
--filter 'Name=John Doe' \
--no-header)\"]"

alerts:groups:delete

Delete an Alert Group

prism alerts:groups:delete <group>
FlagShorthandDescriptionRequired
groupID of the group to deletetrue

alerts:groups:list

List Alert Groups in your Organization

prism alerts:groups:list [--columns <string>] [--sort <string>] [--filter <string>] [--csv] [--output {csv,json,yaml}] [--extended] [--no-truncate] [--no-header]
FlagShorthandDescriptionRequired
--columnsonly show provided columns (comma-separated)false
--csvoutput is csv format [alias: --output=csv]false
--extended-xshow extra columnsfalse
--filterfilter property by partial string matching, ex: name=foofalse
--no-headerhide table header from outputfalse
--no-truncatedo not truncate output to fit screenfalse
--output csv,json,yamloutput in a more machine friendly formatfalse
--sortproperty to sort by (prepend '-' for descending)false
# Fetch the ID and Name of all alert groups in JSON format, sorted descending by name
prism alerts:groups:list --columns id,name --output json --sort name

alerts:monitors:clear

Clear an Alert Monitor

prism alerts:monitors:clear <monitor>
FlagShorthandDescriptionRequired
monitorID of the monitor to cleartrue

alerts:monitors:create

Create an Alert Monitor by attaching an Alert Trigger and a set of users and webhooks to an Instance

prism alerts:monitors:create --name <string> --instance <string> --triggers <string> [--duration <string>] [--log-severity <string>] [--groups <string>] [--users <string>]
FlagShorthandDescriptionRequired
--duration-dgreatest time allowed (in seconds) for time-based triggersfalse
--groups-gJSON-formatted list of group IDs to alertfalse
--instance-iID of the instance to monitortrue
--log-severity-sgreatest log level {debug, info, warn, error} allowed for log-based triggersfalse
--name-nname of the alert monitor to be createdtrue
--triggers-tJSON-formatted list of trigger IDs that should trigger this monitortrue
--users-uJSON-formatted list of Prismatic user IDs alertfalse
Alert Monitors and Alert Groups

While individual users and webhooks can be tied to alert monitors, it is recommended that you create alert groups and attach alert groups to alert monitors. This helps in the case that you need to add a user to a set of monitors: it's simpler to edit a single alert group than to edit dozens of alert monitors.

# Create an alert monitor for an instance named "My Instance"
# and alert the "DevOps" group in the event that an
# instance execution takes longer than 10 seconds.
prism alerts:monitors:create \
--name "Alert Devops of slow execution" \
--instance $(prism instances:list \
--columns id \
--filter 'name=^My Instance$' \
--no-header) \
--triggers "[\"$(prism alerts:triggers:list \
--columns id \
--filter 'name=^Execution Duration Matched or Exceeded$' \
--no-header)\"]" \
--duration 10 \
--groups "[\"$(prism alerts:groups:list \
--columns id \
--filter 'name=^DevOps$' \
--no-header)\"]"

alerts:monitors:delete

Delete an Alert Monitor

prism alerts:monitors:delete <monitor>
FlagShorthandDescriptionRequired
monitorID of the monitor to deletetrue

alerts:monitors:list

List Alert Monitors for Customer Instances

prism alerts:monitors:list [--columns <string>] [--sort <string>] [--filter <string>] [--csv] [--output {csv,json,yaml}] [--extended] [--no-truncate] [--no-header]
FlagShorthandDescriptionRequired
--columnsonly show provided columns (comma-separated)false
--csvoutput is csv format [alias: --output=csv]false
--extended-xshow extra columnsfalse
--filterfilter property by partial string matching, ex: name=foofalse
--no-headerhide table header from outputfalse
--no-truncatedo not truncate output to fit screenfalse
--output csv,json,yamloutput in a more machine friendly formatfalse
--sortproperty to sort by (prepend '-' for descending)false

alerts:triggers:list

List Alert Triggers

prism alerts:triggers:list [--columns <string>] [--sort <string>] [--filter <string>] [--csv] [--output {csv,json,yaml}] [--extended] [--no-truncate] [--no-header]
FlagShorthandDescriptionRequired
--columnsonly show provided columns (comma-separated)false
--csvoutput is csv format [alias: --output=csv]false
--extended-xshow extra columnsfalse
--filterfilter property by partial string matching, ex: name=foofalse
--no-headerhide table header from outputfalse
--no-truncatedo not truncate output to fit screenfalse
--output csv,json,yamloutput in a more machine friendly formatfalse
--sortproperty to sort by (prepend '-' for descending)false

alerts:webhooks:create

Create an Alert Webhook

prism alerts:webhooks:create --name <string> --url <string> [--headers <string>] --payloadTemplate <string>
FlagShorthandDescriptionRequired
--headers-hJSON-formatted object of key/value pairs to include in the request headerfalse
--name-nname of the webhook to be createdtrue
--payloadTemplate-ptemplate string that will be used as the request body, see documentation for detailstrue
--url-uURL that will receive a POST request for an alerttrue

alerts:webhooks:delete

Delete an Alert Webhook

prism alerts:webhooks:delete <webhook>
FlagShorthandDescriptionRequired
webhookID of the webhook to deletetrue

alerts:webhooks:list

List Alert Webhooks

prism alerts:webhooks:list [--columns <string>] [--sort <string>] [--filter <string>] [--csv] [--output {csv,json,yaml}] [--extended] [--no-truncate] [--no-header]
FlagShorthandDescriptionRequired
--columnsonly show provided columns (comma-separated)false
--csvoutput is csv format [alias: --output=csv]false
--extended-xshow extra columnsfalse
--filterfilter property by partial string matching, ex: name=foofalse
--no-headerhide table header from outputfalse
--no-truncatedo not truncate output to fit screenfalse
--output csv,json,yamloutput in a more machine friendly formatfalse
--sortproperty to sort by (prepend '-' for descending)false

Components CLI Commands

components:actions:list

List Actions that Components implement

prism components:actions:list <componentKey> [--columns <string>] [--sort <string>] [--filter <string>] [--csv] [--output {csv,json,yaml}] [--extended] [--no-truncate] [--no-header] [--public] [--private]
FlagShorthandDescriptionRequired
componentKeyThe key of the component to show actions for (e.g. 'salesforce')true
--columnsonly show provided columns (comma-separated)false
--csvoutput is csv format [alias: --output=csv]false
--extended-xshow extra columnsfalse
--filterfilter property by partial string matching, ex: name=foofalse
--no-headerhide table header from outputfalse
--no-truncatedo not truncate output to fit screenfalse
--output csv,json,yamloutput in a more machine friendly formatfalse
--privateShow actions for the private component with the given key. Use this flag when you have a private component with the same key as a public component.false
--publicShow actions for the public component with the given key. Use this flag when you have a private component with the same key as a public component.false
--sortproperty to sort by (prepend '-' for descending)false
# Get the ID of the GET action of the HTTP component by action key
prism components:actions:list --columns id --filter 'key=^httpGet$' --no-header http

# Get actions related to the SFTP component
prism components:actions:list sftp

components:data-sources:list

List Data Sources that Components implement

prism components:data-sources:list <componentKey> [--columns <string>] [--sort <string>] [--filter <string>] [--csv] [--output {csv,json,yaml}] [--extended] [--no-truncate] [--no-header] [--public] [--private]
FlagShorthandDescriptionRequired
componentKeyThe key of the component to show data sources for (e.g. 'salesforce')true
--columnsonly show provided columns (comma-separated)false
--csvoutput is csv format [alias: --output=csv]false
--extended-xshow extra columnsfalse
--filterfilter property by partial string matching, ex: name=foofalse
--no-headerhide table header from outputfalse
--no-truncatedo not truncate output to fit screenfalse
--output csv,json,yamloutput in a more machine friendly formatfalse
--privateShow data sources for the private component with the given key. Use this flag when you have a private component with the same key as a public component.false
--publicShow data sources for the public component with the given key. Use this flag when you have a private component with the same key as a public component.false
--sortproperty to sort by (prepend '-' for descending)false
# Get data sources related to the Salesforce component
prism components:datasources:list salesforce

components:delete

Delete a Component

prism components:delete <component>
FlagShorthandDescriptionRequired
componentID of the component to deletetrue

components:dev:run

Fetch an integration's active connection and execute a CLI command with that connection's fields as an environment variable.

prism components:dev:run -i <value> -c <value> -- /command/to/run
FlagShorthandDescriptionRequired
--connectionKey-cKey of the connection config variable to fetch meta/state fortrue
--integrationId-iIntegration IDtrue

After specifying an integration ID and connection config variable name, this command executes a CLI command with that connection's fields saved as a config variable named PRISMATIC_CONNECTION_VALUE.

components:dev:run Examples

To simply print an integration's basic auth config variable named "My Credentials" and pipe the resulting JSON to jq, run:

$ prism components:dev:run
--integrationId SW50ZWexample
--connectionKey "My Connection" --
printenv PRISMATIC_CONNECTION_VALUE | jq

If one of your integrations has an authenticated OAuth 2.0 config variable "Slack Connection", you could run your component's unit tests with that environment variable:

$ prism components:dev:run -i SW50ZWexample -c "Slack Connection" -- yarn run test

components:dev:test

Run an action of a component within a test integration in the integration runner

prism components:dev:test [--envPath <string>] [--[no-]build] [--output-file <string>] [--print-results] [--clean-up]
FlagShorthandDescriptionRequired
--[no-]build-bBuild the component prior to testingfalse
--clean-upClean up the integration and temporary component after running the actionfalse
--envPath-ePath to dotenv file to load for supplying testing valuesfalse
--output-file-oOutput the results of the action to a specified filefalse
--print-resultsPrint the results of the action to stdoutfalse

components:init

Initialize a new Component

prism components:init <name> [--wsdl-path <string>] [--open-api-path <string>] [--verbose]
FlagShorthandDescriptionRequired
nameName of the new component to create (alphanumeric characters, hyphens, and underscores)true
--open-api-pathThe path to an OpenAPI Specification file (JSON or YAML) used to generate a Componentfalse
--verboseOutput more verbose logging from Component generationfalse
--wsdl-pathPath to the WSDL definition file used to generate a Componentfalse
# Initialize a new component directory for a component named "send-customer-invoices"
prism components:init send-customer-invoices

By providing a path to a local WSDL definition file, Prism is able to generate a component that translates the API methods available into Component Actions. First run the init command and provide a path to the WSDL file.

prism components:init --wsdl-path ./example.wsdl Example WSDL
# Next navigate into the created directory and install/build the Component with NPM or Yarn
yarn install && yarn build
# Finally publish your WSDL Component
prism components:publish

components:init:action

Initialize a new Action file

prism components:init:action

components:init:component

Initialize a new Component

prism components:init:component

components:init:connection

Initialize a new Connection file

prism components:init:connection

components:init:dataSource

Initialize a new Data Source file

prism components:init:dataSource

components:init:trigger

Initialize a new Trigger file

prism components:init:trigger

components:list

List available Components

prism components:list [--columns <string>] [--sort <string>] [--filter <string>] [--csv] [--output {csv,json,yaml}] [--extended] [--no-truncate] [--no-header] [--showAllVersions]
FlagShorthandDescriptionRequired
--columnsonly show provided columns (comma-separated)false
--csvoutput is csv format [alias: --output=csv]false
--extended-xshow extra columnsfalse
--filterfilter property by partial string matching, ex: name=foofalse
--no-headerhide table header from outputfalse
--no-truncatedo not truncate output to fit screenfalse
--output csv,json,yamloutput in a more machine friendly formatfalse
--showAllVersions-aIf specified this command returns all versions of all components rather than only the latest versionfalse
--sortproperty to sort by (prepend '-' for descending)false

components:publish

Publish a Component to Prismatic

prism components:publish [--comment <string>] [--[no-]confirm] [--[no-]check-signature] [--skip-on-signature-match] [--customer <string>]
FlagShorthandDescriptionRequired
--[no-]check-signatureCheck signature of existing component and confirm publish if matchedfalse
--comment-cComment about changes in this Publishfalse
--[no-]confirmInteractively confirm publishfalse
--customerID of customer with which to associate the componentfalse
--skip-on-signature-matchSkips component publish if the new signature matches the existing signaturefalse
Building Components

See writing custom components for information on building components with webpack.

# Build and publish a component
npx webpack
prism components:publish

components:triggers:list

List Triggers that Components implement

prism components:triggers:list <componentKey> [--columns <string>] [--sort <string>] [--filter <string>] [--csv] [--output {csv,json,yaml}] [--extended] [--no-truncate] [--no-header] [--public] [--private]
FlagShorthandDescriptionRequired
componentKeyThe key of the component to show triggers for (e.g. 'salesforce')true
--columnsonly show provided columns (comma-separated)false
--csvoutput is csv format [alias: --output=csv]false
--extended-xshow extra columnsfalse
--filterfilter property by partial string matching, ex: name=foofalse
--no-headerhide table header from outputfalse
--no-truncatedo not truncate output to fit screenfalse
--output csv,json,yamloutput in a more machine friendly formatfalse
--privateShow actions for the private component with the given key. Use this flag when you have a private component with the same key as a public component.false
--publicShow actions for the public component with the given key. Use this flag when you have a private component with the same key as a public component.false
--sortproperty to sort by (prepend '-' for descending)false
# Get the ID of the Webhook trigger of the Webhook Triggers component by key
prism components:triggers:list --columns id --filter 'key=^webhook$' --no-header webhook-triggers

# Get triggers related to the Management Triggers component
prism components:triggers:list management-triggers

Customers CLI Commands

customers:create

Create a new Customer

prism customers:create --name <string> [--description <string>] [--externalId <string>] [--label <string>]
FlagShorthandDescriptionRequired
--description-dlonger description of the customerfalse
--externalId-eexternal ID of the customer from your systemfalse
--label-la label to apply to the customerfalse
--name-nshort name of the new customertrue

customers:create Examples

Apply multiple labels to a customer

prism customers:create --name "Widgets Inc" --externalId "abc-123" --label "Prod Customers" --label "Beta Testers"

customers:credentials:create

Create a set of Customer-specific Credentials for use by Instance Actions

prism customers:credentials:create --customer <string> --label <string> --authorization-method <string> [--fields <string>]
FlagShorthandDescriptionRequired
--authorization-method-aID of the authorization methodtrue
--customer-cID of the customertrue
--fields-fusername, password, etc., in JSON formatfalse
--label-lname to give the new credentialstrue
# Save a JWT token for "Our First Customer"
prism customers:credentials:create \
--label 'JWT to website.com' \
--authorization-method $(prism authorization-methods:list --output json --extended | jq -r '.[] | select(.key == "api_key").id') \
--fields '{"api_key": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJuYW1lIjoiUHJpc21hdGljIiwiaXNCZXN0Ijp0cnVlfQ.vZVPo0uF4OBlZWKTuXipCDS4tsfq74aQTs3wRROqM_M"}' \
--customer $(prism customers:list \
--columns=id \
--filter 'name=^Our First Customer$' \
--no-header)

customers:credentials:delete

Delete a Customer Credential

prism customers:credentials:delete <credential>
FlagShorthandDescriptionRequired
credentialID of the credential to deletetrue

customers:credentials:list

List Credentials for a Customer

prism customers:credentials:list --customer <string> [--columns <string>] [--sort <string>] [--filter <string>] [--csv] [--output {csv,json,yaml}] [--extended] [--no-truncate] [--no-header]
FlagShorthandDescriptionRequired
--columnsonly show provided columns (comma-separated)false
--csvoutput is csv format [alias: --output=csv]false
--customer-cID of a customertrue
--extended-xshow extra columnsfalse
--filterfilter property by partial string matching, ex: name=foofalse
--no-headerhide table header from outputfalse
--no-truncatedo not truncate output to fit screenfalse
--output csv,json,yamloutput in a more machine friendly formatfalse
--sortproperty to sort by (prepend '-' for descending)false

customers:credentials:update

Update a Customer-specific Credential for use by Instance Actions

prism customers:credentials:update <credential> --label <string> --fields <string>
FlagShorthandDescriptionRequired
credentialID of a credentialtrue
--fields-fusername, password, etc., in JSON formattrue
--label-lnew name to give the credentialtrue

customers:delete

Delete a Customer

prism customers:delete <customer>
FlagShorthandDescriptionRequired
customerID of the customer to deletetrue

customers:list

List your Customers

prism customers:list [--columns <string>] [--sort <string>] [--filter <string>] [--csv] [--output {csv,json,yaml}] [--extended] [--no-truncate] [--no-header]
FlagShorthandDescriptionRequired
--columnsonly show provided columns (comma-separated)false
--csvoutput is csv format [alias: --output=csv]false
--extended-xshow extra columnsfalse
--filterfilter property by partial string matching, ex: name=foofalse
--no-headerhide table header from outputfalse
--no-truncatedo not truncate output to fit screenfalse
--output csv,json,yamloutput in a more machine friendly formatfalse
--sortproperty to sort by (prepend '-' for descending)false

customers:update

Update a Customer

prism customers:update <customer> [--name <string>] [--description <string>] [--externalId <string>] [--label <string>]
FlagShorthandDescriptionRequired
customerID of a customertrue
--description-ddescription of the customerfalse
--externalId-eexternal ID of the customer from your systemfalse
--label-la label to apply to the customerfalse
--name-nname of the customerfalse

customers:update Examples

Apply multiple labels to a customer (note: previously set labels will be overwritten)

prism customers:update Q3VzdG9tZXI6MmUzZDllOTUtMWIyMy00N2FjLTk3MjUtMzU1OTA2YzgyZWZj --label "Prod Customers" --label "Beta Testers"

customers:users:create

Create a User for the specified Customer

prism customers:users:create --email <string> --role <string> --customer <string> [--name <string>]
FlagShorthandDescriptionRequired
--customer-cID of the customer this user is associated withtrue
--email-eemail addresstrue
--name-nname of the new userfalse
--role-rID of the role to assign the usertrue
# Add a new 'Member' user for customer 'My First Customer'
prism customers:users:create \
--email 'bar@email.com' \
--name 'Thomas Bar' \
--customer $(prism customers:list \
--columns id \
--no-header \
--filter 'name=^My First Customer$') \
--role $(prism customers:users:roles \
--columns id \
--no-header \
--filter 'name=^Member$')

customers:users:delete

Delete a Customer User

prism customers:users:delete <user>
FlagShorthandDescriptionRequired
userID of the user to deletetrue

customers:users:list

List Customer Users

prism customers:users:list <customer> [--columns <string>] [--sort <string>] [--filter <string>] [--csv] [--output {csv,json,yaml}] [--extended] [--no-truncate] [--no-header]
FlagShorthandDescriptionRequired
customerID of the customertrue
--columnsonly show provided columns (comma-separated)false
--csvoutput is csv format [alias: --output=csv]false
--extended-xshow extra columnsfalse
--filterfilter property by partial string matching, ex: name=foofalse
--no-headerhide table header from outputfalse
--no-truncatedo not truncate output to fit screenfalse
--output csv,json,yamloutput in a more machine friendly formatfalse
--sortproperty to sort by (prepend '-' for descending)false

customers:users:roles

List Roles you can grant to Customer Users

prism customers:users:roles [--columns <string>] [--sort <string>] [--filter <string>] [--csv] [--output {csv,json,yaml}] [--extended] [--no-truncate] [--no-header]
FlagShorthandDescriptionRequired
--columnsonly show provided columns (comma-separated)false
--csvoutput is csv format [alias: --output=csv]false
--extended-xshow extra columnsfalse
--filterfilter property by partial string matching, ex: name=foofalse
--no-headerhide table header from outputfalse
--no-truncatedo not truncate output to fit screenfalse
--output csv,json,yamloutput in a more machine friendly formatfalse
--sortproperty to sort by (prepend '-' for descending)false
Customer User Roles

Click here for descriptions of roles that can be assigned to customer users

customers:users:update

Update a User

prism customers:users:update <user> [--name <string>] [--phone <string>] [--dark-mode <string>] [--dark-mode-os-sync <string>]
FlagShorthandDescriptionRequired
userID of a usertrue
--dark-mode-dwhether the user should have dark mode enabledfalse
--dark-mode-os-sync-owhether dark mode should sync with OS settingsfalse
--name-nname of the userfalse
--phone-pphone number of the userfalse

Executions CLI Commands

executions:step-result:get

Gets the Result of a specified Step in an Instance Execution

prism executions:step-result:get --executionId <string> --stepName <string> [--outputPath <string>]
FlagShorthandDescriptionRequired
--executionId-eID of an Executiontrue
--outputPath-pOutput result to a file. Output will be printed to stdout if this is omittedfalse
--stepName-sName of an Integration Steptrue

This command can be used to pull down step results for both integration tests and instance executions. For example, you can run a test of a flow of an integration and then pull down specific step results like this:

$ prism integrations:flows:test ${FLOW_ID}
Execution ID: SW5zdGFuY2VFeGVjdXRpb25SZXN1bHQ6MWFkZTYwMGQtMjg2Ni00ZTljLWI2N2EtYmUxNzgwOWY4ODI4

$ prism executions:step-result:get \
--executionId SW5zdGFuY2VFeGVjdXRpb25SZXN1bHQ6MWFkZTYwMGQtMjg2Ni00ZTljLWI2N2EtYmUxNzgwOWY4ODI4 \
--stepName "Fetch Invoice Info"

{"invoiceId":"3EB14053-D836-4BDC-8C8F-5E52A2F01C29","customerId":"E2B76A06-5FB6-4CF8-B296-B4000485471E","total":124.61}

Instances CLI Commands

instances:config-vars:list

List Config Variables used on an Instance

prism instances:config-vars:list <instance> [--columns <string>] [--sort <string>] [--filter <string>] [--csv] [--output {csv,json,yaml}] [--extended] [--no-truncate] [--no-header]
FlagShorthandDescriptionRequired
instanceID of an instancetrue
--columnsonly show provided columns (comma-separated)false
--csvoutput is csv format [alias: --output=csv]false
--extended-xshow extra columnsfalse
--filterfilter property by partial string matching, ex: name=foofalse
--no-headerhide table header from outputfalse
--no-truncatedo not truncate output to fit screenfalse
--output csv,json,yamloutput in a more machine friendly formatfalse
--sortproperty to sort by (prepend '-' for descending)false

instances:create

Create an Instance

prism instances:create --name <string> --integration <string> --customer <string> [--description <string>] [--config-vars <string>] [--label <string>]
FlagShorthandDescriptionRequired
--config-vars-vconfig variables to bind to steps of your instancefalse
--customer-cID of customer to deploy totrue
--description-dlonger description of the instancefalse
--integration-iID of the integration or a specific integration version ID this is an instance oftrue
--label-la label or set of labels to apply to the instancefalse
--name-nname of your new instance.true
# Find the ID of the integration you want to deploy
INTEGRATION_ID=$(prism integrations:list --columns id --no-header --filter 'name=Acme Inc')

# Find the version ID of the latest available published version
VERSION_ID=$(prism integrations:versions ${INTEGRATION_ID} --latest-available --columns id --no-header)

# Connection config variables must be escaped
CREDENTIALS='[{\"name\":\"username\",\"type\":\"value\",\"value\":\"my.username\"},{\"name\":\"password\",\"type\":\"value\",\"value\":\"Pa$$W0Rd\"}]'

# Create an instance given a specific $VERSION_ID,
# a customer $CUSTOMER_ID and required config variables
# ("My Endpoint", "Do Thing?" and "Acme Basic Auth"):
prism instances:create \
--name 'Acme Inc' \
--description 'Acme Inc instance for Smith Rocket Co' \
--integration ${VERSION_ID} \
--customer ${CUSTOMER_ID} \
--config-vars "[
{
\"key\": \"My Endpoint\",
\"value\": \"https://example.com/api\"
},
{
\"key\": \"Do Thing?\",
\"value\": \"true\"
},
{
\"key\": \"Acme Basic Auth\",
\"values\": \"${CREDENTIALS}\"
}
]" \
--label 'Production' \
--label 'Paid'

instances:delete

Delete an Instance

prism instances:delete <instance>
FlagShorthandDescriptionRequired
instanceID of the instance to deletetrue

instances:deploy

Deploy an Instance

prism instances:deploy <instance> [--force]
FlagShorthandDescriptionRequired
instanceID of an instancetrue
--force-fForce deployment even when there are certain conditions that would normally prevent itfalse

instances:disable

Disable an Instance

prism instances:disable <instance>
FlagShorthandDescriptionRequired
instanceID of an instancetrue

instances:enable

Enable an Instance

prism instances:enable <instance>
FlagShorthandDescriptionRequired
instanceID of an instancetrue

instances:flow-configs:list

List Instance Flow Configs

prism instances:flow-configs:list <instance> [--columns <string>] [--sort <string>] [--filter <string>] [--csv] [--output {csv,json,yaml}] [--extended] [--no-truncate] [--no-header]
FlagShorthandDescriptionRequired
instanceID of an Instancetrue
--columnsonly show provided columns (comma-separated)false
--csvoutput is csv format [alias: --output=csv]false
--extended-xshow extra columnsfalse
--filterfilter property by partial string matching, ex: name=foofalse
--no-headerhide table header from outputfalse
--no-truncatedo not truncate output to fit screenfalse
--output csv,json,yamloutput in a more machine friendly formatfalse
--sortproperty to sort by (prepend '-' for descending)false

instances:flow-configs:test

Test a Flow Config of an Instance

prism instances:flow-configs:test <flowConfig> [--extended] [--columns <string>] [--tail] [--payload <string>] [--contentType <string>]
FlagShorthandDescriptionRequired
flowConfigID of a Flow Config to testtrue
--columnsonly show provided columns (comma-separated)false
--contentType-cOptional content-type for the test payloadfalse
--extended-xshow extra columnsfalse
--payload-pOptional JSON-formatted data payload to submit with the testfalse
--tail-tTail logs of the flow config test runfalse

instances:list

List Instances

prism instances:list [--customer <string>] [--integration <string>] [--columns <string>] [--sort <string>] [--filter <string>] [--csv] [--output {csv,json,yaml}] [--extended] [--no-truncate] [--no-header]
FlagShorthandDescriptionRequired
--columnsonly show provided columns (comma-separated)false
--csvoutput is csv format [alias: --output=csv]false
--customer-cID of a customerfalse
--extended-xshow extra columnsfalse
--filterfilter property by partial string matching, ex: name=foofalse
--integration-iID of an integrationfalse
--no-headerhide table header from outputfalse
--no-truncatedo not truncate output to fit screenfalse
--output csv,json,yamloutput in a more machine friendly formatfalse
--sortproperty to sort by (prepend '-' for descending)false

instances:update

Update an Instance

prism instances:update <instance> [--name <string>] [--description <string>] [--version <string>] [--deploy] [--label <string>]
FlagShorthandDescriptionRequired
instanceID of an instancetrue
--deployDeploy the instance after updatingfalse
--description-dDescription for the instancefalse
--label-la label or set of labels to apply to the instancefalse
--name-nName of the instancefalse
--version-vID of integration versionfalse

Integrations CLI Commands

integrations:available

Mark an Integration version as available or unavailable

prism integrations:available <integration> --[no-]available
FlagShorthandDescriptionRequired
integrationID of an integration versiontrue
--[no-]available-aVersion is available or unavailabletrue

integrations:create

Create an Integration

prism integrations:create --name <string> --description <string> [--customer <string>]
FlagShorthandDescriptionRequired
--customer-cID of customer with which to associate the integrationfalse
--description-dlonger description of the integrationtrue
--name-nname of the integration to createtrue

integrations:delete

Delete an Integration

prism integrations:delete <integration>
FlagShorthandDescriptionRequired
integrationID of the integration to deletetrue

integrations:export

Export an integration to YAML definition

prism integrations:export <integration> [--latest-components]
FlagShorthandDescriptionRequired
integrationID of an integration to exporttrue
--latest-components-lUse the latest available version of each Component upon importfalse

integrations:flows:list

List Integration Flows

prism integrations:flows:list <integration> [--columns <string>] [--sort <string>] [--filter <string>] [--csv] [--output {csv,json,yaml}] [--extended] [--no-truncate] [--no-header]
FlagShorthandDescriptionRequired
integrationID of an Integrationtrue
--columnsonly show provided columns (comma-separated)false
--csvoutput is csv format [alias: --output=csv]false
--extended-xshow extra columnsfalse
--filterfilter property by partial string matching, ex: name=foofalse
--no-headerhide table header from outputfalse
--no-truncatedo not truncate output to fit screenfalse
--output csv,json,yamloutput in a more machine friendly formatfalse
--sortproperty to sort by (prepend '-' for descending)false

integrations:flows:test

Run a test of an Integration Flow

prism integrations:flows:test <flow> [--extended] [--columns <string>] [--tail] [--payload <string>] [--contentType <string>]
FlagShorthandDescriptionRequired
flowID of a flow to testtrue
--columnsonly show provided columns (comma-separated)false
--contentType-cOptional content-type for the test payloadfalse
--extended-xshow extra columnsfalse
--payload-pOptional JSON-formatted data payload to submit with the testfalse
--tail-tTail logs of the integration test runfalse
# Test an integration flow named 'My Integration Flow' and tail log output
prism integrations:flows:test \
--tail \
$(prism integrations:flows:list \
--columns id \
--no-header \
--filter 'name=^My Integration Flow$')

integrations:fork

Fork an Integration

prism integrations:fork <parent> --name <string> --description <string>
FlagShorthandDescriptionRequired
parentID of the Integration to forktrue
--description-dlonger description of the forked integrationtrue
--name-nname of the forked integrationtrue

integrations:import

Import an Integration using a YAML definition file or a Code Native Integration

prism integrations:import [--path <string>] [--integrationId <string>] [--icon-path <string>] [--open]
FlagShorthandDescriptionRequired
--icon-pathIf supplied, the path to the PNG icon for the integration. Not applicable for Code Native Integrations.false
--integrationId-iThe ID of the integration being importedfalse
--open-oIf supplied, open the Designer for the imported integrationfalse
--path-pIf supplied, the path to the YAML definition of the integration to import. Not applicable for Code Native Integrations.false

integrations:init

Initialize a new Code Native Integration

prism integrations:init <name>
FlagShorthandDescriptionRequired
nameName of the new integration to create (alphanumeric characters, hyphens, and underscores)true
# Initialize a new directory for a Code Native Integration named "acme-integration"
prism integrations:init acme-integration
# Next navigate into the created directory and install/build the Integration with NPM or Yarn
yarn install && yarn build
# Finally import your Code Native Integration
prism integrations:import

integrations:init:flow

Initialize a new file for a Code Native Integration Flow

prism integrations:init:flow

integrations:init:integration

Initialize a new Code Native Integration

prism integrations:init:integration

integrations:list

List Integrations

prism integrations:list [--columns <string>] [--sort <string>] [--filter <string>] [--csv] [--output {csv,json,yaml}] [--extended] [--no-truncate] [--no-header] [--showAllVersions] [--customer <string>] [--org-only]
FlagShorthandDescriptionRequired
--columnsonly show provided columns (comma-separated)false
--csvoutput is csv format [alias: --output=csv]false
--customer-cIf specified this command returns only integrations that are available to the specified customer IDfalse
--extended-xshow extra columnsfalse
--filterfilter property by partial string matching, ex: name=foofalse
--no-headerhide table header from outputfalse
--no-truncatedo not truncate output to fit screenfalse
--org-only-oIf specified this command returns only org integrationsfalse
--output csv,json,yamloutput in a more machine friendly formatfalse
--showAllVersions-aIf specified this command returns all versions of all integrations rather than only the latest versionfalse
--sortproperty to sort by (prepend '-' for descending)false

integrations:marketplace

Make a version of an Integration available in the Marketplace

prism integrations:marketplace <integration> --[no-]available [--[no-]deployable] [--[no-]allow-multiple-instances] --overview <string>
FlagShorthandDescriptionRequired
integrationID of an integration version to make marketplace availabletrue
--[no-]allow-multiple-instances-mAllow a customer to deploy multiple instances of this integrationfalse
--[no-]available-aMark this Integration version available in the marketplacetrue
--[no-]deployable-dMark this Integration version as deployable in the marketplace; does not apply if not also marked availablefalse
--overview-oOverview to describe the purpose of the integrationtrue

integrations:open

Open the Designer for the specified Integration

prism integrations:open <integrationId>
FlagShorthandDescriptionRequired
integrationIdID of the integration to opentrue

integrations:publish

Publish a version of an Integration for use in Instances

prism integrations:publish <integration> [--comment <string>]
FlagShorthandDescriptionRequired
integrationID of an integration to publishtrue
--comment-ccomment about changes in this publicationfalse

integrations:update

Update an Integration's name or description

prism integrations:update <integration> [--name <string>] [--description <string>] [--customer <string>] [--test-config-vars <string>] [--default-config-vars <string>]
FlagShorthandDescriptionRequired
integrationID of an integrationtrue
--customer-cID of customer with which to associate the integrationfalse
--default-config-varsJSON-formatted default values for config variables that are replaced with instance or test config variablesfalse
--description-dnew description to give the integrationfalse
--name-nnew name to give the integrationfalse
--test-config-varsJSON-formatted config variables to be used for testingfalse

integrations:versions

List Integration versions

prism integrations:versions <integration> [--columns <string>] [--sort <string>] [--filter <string>] [--csv] [--output {csv,json,yaml}] [--extended] [--no-truncate] [--no-header] [--latest-available]
FlagShorthandDescriptionRequired
integrationID of an integrationtrue
--columnsonly show provided columns (comma-separated)false
--csvoutput is csv format [alias: --output=csv]false
--extended-xshow extra columnsfalse
--filterfilter property by partial string matching, ex: name=foofalse
--latest-available-lShow only the latest available versionfalse
--no-headerhide table header from outputfalse
--no-truncatedo not truncate output to fit screenfalse
--output csv,json,yamloutput in a more machine friendly formatfalse
--sortproperty to sort by (prepend '-' for descending)false

Login CLI Commands

login

Log in to your Prismatic account

prism login [--force] [--url]
FlagShorthandDescriptionRequired
--force-fre-authenticate, even if you are already logged infalse
--url-ureturns a challenge url without automatically opening a browserfalse

Logout CLI Commands

logout

Log out of your Prismatic account

prism logout [--browser]
FlagShorthandDescriptionRequired
--browser-badditionally log out of your default browser's sessionfalse

Logs CLI Commands

logs:severities:list

List Log Severities for use by Alert Triggers

prism logs:severities:list [--columns <string>] [--sort <string>] [--filter <string>] [--csv] [--output {csv,json,yaml}] [--extended] [--no-truncate] [--no-header]
FlagShorthandDescriptionRequired
--columnsonly show provided columns (comma-separated)false
--csvoutput is csv format [alias: --output=csv]false
--extended-xshow extra columnsfalse
--filterfilter property by partial string matching, ex: name=foofalse
--no-headerhide table header from outputfalse
--no-truncatedo not truncate output to fit screenfalse
--output csv,json,yamloutput in a more machine friendly formatfalse
--sortproperty to sort by (prepend '-' for descending)false

Me CLI Commands

me

Print your user profile information

prism me

me:token

Print your authorization tokens

prism me:token [--type {access,refresh}]
FlagShorthandDescriptionRequired
--type access,refresh-tWhich token type to printfalse

me:token:revoke

Revoke all refresh tokens for your user

prism me:token:revoke

On-prem-resources CLI Commands

on-prem-resources:delete

Delete an On-Premise Resource

prism on-prem-resources:delete <resource>
FlagShorthandDescriptionRequired
resourceID of the On-Premise Resource to deletetrue

on-prem-resources:list

List On-Premise Resources

prism on-prem-resources:list [--columns <string>] [--sort <string>] [--filter <string>] [--csv] [--output {csv,json,yaml}] [--extended] [--no-truncate] [--no-header] [--customer <string>]
FlagShorthandDescriptionRequired
--columnsonly show provided columns (comma-separated)false
--csvoutput is csv format [alias: --output=csv]false
--customer-cIf specified this command returns only On-Premise Resources that are available to the specified customer IDfalse
--extended-xshow extra columnsfalse
--filterfilter property by partial string matching, ex: name=foofalse
--no-headerhide table header from outputfalse
--no-truncatedo not truncate output to fit screenfalse
--output csv,json,yamloutput in a more machine friendly formatfalse
--sortproperty to sort by (prepend '-' for descending)false

on-prem-resources:registration-jwt

Create a short-lived JWT that may be used to perform registration of an On-Premise Resource.

prism on-prem-resources:registration-jwt [--customerId <string>] [--resourceId <string>]
FlagShorthandDescriptionRequired
--customerId-cThe ID of the customer for which to create the JWT. Only valid when authenticated as an Organization user.false
--resourceId-rAn optional ID of an existing On-Premise Resource for which to generate a new JWT.false

Organization CLI Commands

organization:credentials:create

Create a set of Organization-level Credentials for use by Instance Actions

prism organization:credentials:create --label <string> --authorization-method <string> [--fields <string>]
FlagShorthandDescriptionRequired
--authorization-method-aID of the authorization methodtrue
--fields-fusername, password, etc., in JSON formatfalse
--label-lname to give the new credentialstrue
# Create basic auth for REST resource at website.com/resource
prism organization:credentials:create \
--label 'User/pass for website.com/resource' \
--authorization-method $(prism authorization-methods:list --output json --extended | jq -r '.[] | select(.key == "basic").id') \
--fields '{"username": "myuser", "password": "MyP@$sW0Rd!"}'

organization:credentials:delete

Delete an Organization Credential

prism organization:credentials:delete <credential>
FlagShorthandDescriptionRequired
credentialID of the credential to deletetrue

organization:credentials:list

List Credentials available to the entire Organization

prism organization:credentials:list [--columns <string>] [--sort <string>] [--filter <string>] [--csv] [--output {csv,json,yaml}] [--extended] [--no-truncate] [--no-header]
FlagShorthandDescriptionRequired
--columnsonly show provided columns (comma-separated)false
--csvoutput is csv format [alias: --output=csv]false
--extended-xshow extra columnsfalse
--filterfilter property by partial string matching, ex: name=foofalse
--no-headerhide table header from outputfalse
--no-truncatedo not truncate output to fit screenfalse
--output csv,json,yamloutput in a more machine friendly formatfalse
--sortproperty to sort by (prepend '-' for descending)false

organization:credentials:update

Update a Customer-specific Credential for use by Instance Actions

prism organization:credentials:update <credential> --label <string> --fields <string>
FlagShorthandDescriptionRequired
credentialID of a credentialtrue
--fields-fusername, password, etc., in JSON formattrue
--label-lnew name to give the credentialtrue

organization:signingkeys:delete

Delete an embedded marketplace signing key

prism organization:signingkeys:delete <signingKeyId>
FlagShorthandDescriptionRequired
signingKeyIdID of the signing key to deletetrue

organization:signingkeys:generate

Generate an embedded marketplace signing key

prism organization:signingkeys:generate

organization:signingkeys:generate will generate a new embedded marketplace signing key. The RSA public key is saved in Prismatic, and the private key is returned and immediately removed from Prismatic. Once the private key is returned, it cannot be retrieved again.

organization:signingkeys:import

Import a RSA public key for use with embedded marketplace

prism organization:signingkeys:import --public-key-file <string>
FlagShorthandDescriptionRequired
--public-key-file-ppublic key filetrue

organization:signingkeys:import allows you import your own RSA public key. You can use openssl to generate a new RSA key pair:

First, run openssl genrsa -out my-private-key.pem 4096 to generate an RSA private key.

Next, run openssl rsa -in my-private-key.pem -pubout > my-public-key.pub to generate the associated RSA public key. It should look something like this:

-----BEGIN PUBLIC KEY-----
EXAMPLE
-----END PUBLIC KEY-----

Finally, import the public key:

prism organization:signingkeys:import -p my-public-key.pub

organization:signingkeys:list

List embedded signing keys for embedded marketplace

prism organization:signingkeys:list [--columns <string>] [--sort <string>] [--filter <string>] [--csv] [--output {csv,json,yaml}] [--extended] [--no-truncate] [--no-header]
FlagShorthandDescriptionRequired
--columnsonly show provided columns (comma-separated)false
--csvoutput is csv format [alias: --output=csv]false
--extended-xshow extra columnsfalse
--filterfilter property by partial string matching, ex: name=foofalse
--no-headerhide table header from outputfalse
--no-truncatedo not truncate output to fit screenfalse
--output csv,json,yamloutput in a more machine friendly formatfalse
--sortproperty to sort by (prepend '-' for descending)false

organization:update

Update your Organization

prism organization:update [--name <string>]
FlagShorthandDescriptionRequired
--name-nname of the organizationfalse

organization:updateAvatarUrl

Update your Organization Avatar URL

prism organization:updateAvatarUrl --organizationId <string> [--avatarUrl <string>]
FlagShorthandDescriptionRequired
--avatarUrl-nUrl of the organization avatarfalse
--organizationIdID of an organizationtrue

organization:users:create

Create a User for your Organization

prism organization:users:create [--name <string>] --email <string> --role <string>
FlagShorthandDescriptionRequired
--email-eemail address of the usertrue
--name-nname of the userfalse
--role-rrole the user should assumetrue
Organization Roles

See the users page for information on roles that users can assume

# Create an organization user for Susan and grant her the 'Integrator' role
prism organization:users:create \
--email 'foo@email.com' \
--name 'Susan Foo' \
--role $(prism organization:users:roles \
--columns id \
--no-header \
--filter 'name=^Integrator$')

organization:users:delete

Delete an Organization User

prism organization:users:delete <user>
FlagShorthandDescriptionRequired
userID of the user to deletetrue

organization:users:list

List Users of your Organization

prism organization:users:list [--columns <string>] [--sort <string>] [--filter <string>] [--csv] [--output {csv,json,yaml}] [--extended] [--no-truncate] [--no-header]
FlagShorthandDescriptionRequired
--columnsonly show provided columns (comma-separated)false
--csvoutput is csv format [alias: --output=csv]false
--extended-xshow extra columnsfalse
--filterfilter property by partial string matching, ex: name=foofalse
--no-headerhide table header from outputfalse
--no-truncatedo not truncate output to fit screenfalse
--output csv,json,yamloutput in a more machine friendly formatfalse
--sortproperty to sort by (prepend '-' for descending)false

organization:users:roles

List Roles you can grant to other users in your Organization

prism organization:users:roles [--columns <string>] [--sort <string>] [--filter <string>] [--csv] [--output {csv,json,yaml}] [--extended] [--no-truncate] [--no-header]
FlagShorthandDescriptionRequired
--columnsonly show provided columns (comma-separated)false
--csvoutput is csv format [alias: --output=csv]false
--extended-xshow extra columnsfalse
--filterfilter property by partial string matching, ex: name=foofalse
--no-headerhide table header from outputfalse
--no-truncatedo not truncate output to fit screenfalse
--output csv,json,yamloutput in a more machine friendly formatfalse
--sortproperty to sort by (prepend '-' for descending)false

organization:users:update

Update a User

prism organization:users:update <user> [--name <string>] [--phone <string>] [--dark-mode <string>] [--dark-mode-os-sync <string>]
FlagShorthandDescriptionRequired
userID of a usertrue
--dark-mode-dwhether the user should have dark mode enabledfalse
--dark-mode-os-sync-owhether dark mode should sync with OS settingsfalse
--name-nname of the userfalse
--phone-pphone number of the userfalse

Translations CLI Commands

translations:list

Generate Dynamic Phrases for Embedded Marketplace

prism translations:list [--output-file <string>]
FlagShorthandDescriptionRequired
--output-file-oOutput the results of the action to a specified filefalse