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:listList 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]
Flag | Shorthand | Description | Required |
---|---|---|---|
alertMonitorId | ID of an alert monitor | true | |
--columns | only show provided columns (comma-separated) | false | |
--csv | output is csv format [alias: --output=csv] | false | |
--extended | -x | show extra columns | false |
--filter | filter property by partial string matching, ex: name=foo | false | |
--no-header | hide table header from output | false | |
--no-truncate | do not truncate output to fit screen | false | |
--output ['csv', 'json', 'yaml'] | output in a more machine friendly format | false | |
--sort | property to sort by (prepend '-' for descending) | false |
#
alerts:groups:createCreate an Alert Group
prism alerts:groups:create --name <string> [--users <string>] [--webhooks <string>]
Flag | Shorthand | Description | Required |
---|---|---|---|
--name | -n | name of the group to be created | true |
--users | -u | JSON-formatted list of Prismatic user IDs to alert | false |
--webhooks | -w | JSON-formatted list of Alert Webhook IDs to alert | false |
# 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:deleteDelete an Alert Group
prism alerts:groups:delete <group>
Flag | Shorthand | Description | Required |
---|---|---|---|
group | ID of the group to delete | true |
#
alerts:groups:listList 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]
Flag | Shorthand | Description | Required |
---|---|---|---|
--columns | only show provided columns (comma-separated) | false | |
--csv | output is csv format [alias: --output=csv] | false | |
--extended | -x | show extra columns | false |
--filter | filter property by partial string matching, ex: name=foo | false | |
--no-header | hide table header from output | false | |
--no-truncate | do not truncate output to fit screen | false | |
--output ['csv', 'json', 'yaml'] | output in a more machine friendly format | false | |
--sort | property to sort by (prepend '-' for descending) | false |
# Fetch the ID and Name of all alert groups in JSON format, sorted descending by nameprism alerts:groups:list --columns id,name --output json --sort name
#
alerts:monitors:clearClear an Alert Monitor
prism alerts:monitors:clear <monitor>
Flag | Shorthand | Description | Required |
---|---|---|---|
monitor | ID of the monitor to clear | true |
#
alerts:monitors:createCreate 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>]
Flag | Shorthand | Description | Required |
---|---|---|---|
--duration | -d | greatest time allowed (in seconds) for time-based triggers | false |
--groups | -g | JSON-formatted list of group IDs to alert | false |
--instance | -i | ID of the instance to monitor | true |
--log-severity | -s | greatest log level {debug, info, warn, error} allowed for log-based triggers | false |
--name | -n | name of the alert monitor to be created | true |
--triggers | -t | JSON-formatted list of trigger IDs that should trigger this monitor | true |
--users | -u | JSON-formatted list of Prismatic user IDs alert | false |
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:deleteDelete an Alert Monitor
prism alerts:monitors:delete <monitor>
Flag | Shorthand | Description | Required |
---|---|---|---|
monitor | ID of the monitor to delete | true |
#
alerts:monitors:listList 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]
Flag | Shorthand | Description | Required |
---|---|---|---|
--columns | only show provided columns (comma-separated) | false | |
--csv | output is csv format [alias: --output=csv] | false | |
--extended | -x | show extra columns | false |
--filter | filter property by partial string matching, ex: name=foo | false | |
--no-header | hide table header from output | false | |
--no-truncate | do not truncate output to fit screen | false | |
--output ['csv', 'json', 'yaml'] | output in a more machine friendly format | false | |
--sort | property to sort by (prepend '-' for descending) | false |
#
alerts:triggers:listList Alert Triggers
prism alerts:triggers:list [--columns <string>] [--sort <string>] [--filter <string>] [--csv] [--output {csv,json,yaml}] [--extended] [--no-truncate] [--no-header]
Flag | Shorthand | Description | Required |
---|---|---|---|
--columns | only show provided columns (comma-separated) | false | |
--csv | output is csv format [alias: --output=csv] | false | |
--extended | -x | show extra columns | false |
--filter | filter property by partial string matching, ex: name=foo | false | |
--no-header | hide table header from output | false | |
--no-truncate | do not truncate output to fit screen | false | |
--output ['csv', 'json', 'yaml'] | output in a more machine friendly format | false | |
--sort | property to sort by (prepend '-' for descending) | false |
#
alerts:webhooks:createCreate an Alert Webhook
prism alerts:webhooks:create --name <string> --url <string> [--headers <string>] --payloadTemplate <string>
Flag | Shorthand | Description | Required |
---|---|---|---|
--headers | -h | JSON-formatted object of key/value pairs to include in the request header | false |
--name | -n | name of the webhook to be created | true |
--payloadTemplate | -p | template string that will be used as the request body, see documentation for details | true |
--url | -u | URL that will receive a POST request for an alert | true |
#
alerts:webhooks:deleteDelete an Alert Webhook
prism alerts:webhooks:delete <webhook>
Flag | Shorthand | Description | Required |
---|---|---|---|
webhook | ID of the webhook to delete | true |
#
alerts:webhooks:listList Alert Webhooks
prism alerts:webhooks:list [--columns <string>] [--sort <string>] [--filter <string>] [--csv] [--output {csv,json,yaml}] [--extended] [--no-truncate] [--no-header]
Flag | Shorthand | Description | Required |
---|---|---|---|
--columns | only show provided columns (comma-separated) | false | |
--csv | output is csv format [alias: --output=csv] | false | |
--extended | -x | show extra columns | false |
--filter | filter property by partial string matching, ex: name=foo | false | |
--no-header | hide table header from output | false | |
--no-truncate | do not truncate output to fit screen | false | |
--output ['csv', 'json', 'yaml'] | output in a more machine friendly format | false | |
--sort | property to sort by (prepend '-' for descending) | false |
#
Authorization-methods CLI Commands#
authorization-methods:listList Authorization Methods that Components can use
prism authorization-methods:list [--columns <string>] [--sort <string>] [--filter <string>] [--csv] [--output {csv,json,yaml}] [--extended] [--no-truncate] [--no-header]
Flag | Shorthand | Description | Required |
---|---|---|---|
--columns | only show provided columns (comma-separated) | false | |
--csv | output is csv format [alias: --output=csv] | false | |
--extended | -x | show extra columns | false |
--filter | filter property by partial string matching, ex: name=foo | false | |
--no-header | hide table header from output | false | |
--no-truncate | do not truncate output to fit screen | false | |
--output ['csv', 'json', 'yaml'] | output in a more machine friendly format | false | |
--sort | property to sort by (prepend '-' for descending) | false |
#
Components CLI Commands#
components:actions:listList Actions that Components implement
prism components:actions:list <Component Key> [--columns <string>] [--sort <string>] [--filter <string>] [--csv] [--output {csv,json,yaml}] [--extended] [--no-truncate] [--no-header] [--public] [--private]
Flag | Shorthand | Description | Required |
---|---|---|---|
Component Key | The key of the component to show actions for (e.g. 'salesforce') | true | |
--columns | only show provided columns (comma-separated) | false | |
--csv | output is csv format [alias: --output=csv] | false | |
--extended | -x | show extra columns | false |
--filter | filter property by partial string matching, ex: name=foo | false | |
--no-header | hide table header from output | false | |
--no-truncate | do not truncate output to fit screen | false | |
--output ['csv', 'json', 'yaml'] | output in a more machine friendly format | false | |
--private | Show 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 | |
--public | Show 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 | |
--sort | property to sort by (prepend '-' for descending) | false |
# Get the ID of the GET action of the HTTP component by action keyprism components:actions:list --columns id --filter 'key=^httpGet$' --no-header http
# Get actions related to the SFTP componentprism components:actions:list sftp
#
components:data-sources:listList Data Sources that Components implement
prism components:data-sources:list <Component Key> [--columns <string>] [--sort <string>] [--filter <string>] [--csv] [--output {csv,json,yaml}] [--extended] [--no-truncate] [--no-header] [--public] [--private]
Flag | Shorthand | Description | Required |
---|---|---|---|
Component Key | The key of the component to show data sources for (e.g. 'salesforce') | true | |
--columns | only show provided columns (comma-separated) | false | |
--csv | output is csv format [alias: --output=csv] | false | |
--extended | -x | show extra columns | false |
--filter | filter property by partial string matching, ex: name=foo | false | |
--no-header | hide table header from output | false | |
--no-truncate | do not truncate output to fit screen | false | |
--output ['csv', 'json', 'yaml'] | output in a more machine friendly format | false | |
--private | Show 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 | |
--public | Show 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 | |
--sort | property to sort by (prepend '-' for descending) | false |
# Get data sources related to the Salesforce componentprism components:datasources:list salesforce
#
components:deleteDelete a Component
prism components:delete <component>
Flag | Shorthand | Description | Required |
---|---|---|---|
component | ID of the component to delete | true |
#
components:dev:runFetch 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
Flag | Shorthand | Description | Required |
---|---|---|---|
--connectionKey | -c | Key of the connection config variable to fetch meta/state for | true |
--integrationId | -i | Integration ID | true |
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 ExamplesTo 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:testRun 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]
Flag | Shorthand | Description | Required |
---|---|---|---|
--[no-]build | -b | Build the component prior to testing | false |
--envPath | -e | Path to dotenv file to load for supplying testing values | false |
--output-file | -o | Output the results of the action to a specified file | false |
--print-results | Print the results of the action to stdout | false |
#
components:initInitialize a new Component
prism components:init <name> [--wsdl-path <string>] [--open-api-path <string>] [--verbose]
Flag | Shorthand | Description | Required |
---|---|---|---|
name | Name of the new component to create (alphanumeric characters, hyphens, and underscores) | true | |
--open-api-path | The path to an OpenAPI Specification file (JSON or YAML) used to generate a Component | false | |
--verbose | Output more verbose logging from Component generation | false | |
--wsdl-path | Path to the WSDL definition file used to generate a Component | false |
# 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 Yarnyarn install && yarn build# Finally publish your WSDL Componentprism components:publish
#
components:init:actionInitialize a new Action file
prism components:init:action
#
components:init:componentInitialize a new Component
prism components:init:component
#
components:init:connectionInitialize a new Connection file
prism components:init:connection
#
components:init:dataSourceInitialize a new Data Source file
prism components:init:dataSource
#
components:init:triggerInitialize a new Trigger file
prism components:init:trigger
#
components:listList available Components
prism components:list [--columns <string>] [--sort <string>] [--filter <string>] [--csv] [--output {csv,json,yaml}] [--extended] [--no-truncate] [--no-header] [--showAllVersions]
Flag | Shorthand | Description | Required |
---|---|---|---|
--columns | only show provided columns (comma-separated) | false | |
--csv | output is csv format [alias: --output=csv] | false | |
--extended | -x | show extra columns | false |
--filter | filter property by partial string matching, ex: name=foo | false | |
--no-header | hide table header from output | false | |
--no-truncate | do not truncate output to fit screen | false | |
--output ['csv', 'json', 'yaml'] | output in a more machine friendly format | false | |
--showAllVersions | -a | If specified this command returns all versions of all components rather than only the latest version | false |
--sort | property to sort by (prepend '-' for descending) | false |
#
components:publishPublish a Component to Prismatic
prism components:publish [--comment <string>] [--[no-]confirm] [--[no-]check-signature] [--skip-on-signature-match] [--customer <string>]
Flag | Shorthand | Description | Required |
---|---|---|---|
--[no-]check-signature | Check signature of existing component and confirm publish if matched | false | |
--comment | -c | Comment about changes in this Publish | false |
--[no-]confirm | Interactively confirm publish | false | |
--customer | ID of customer with which to associate the component | false | |
--skip-on-signature-match | Skips component publish if the new signature matches the existing signature | false |
Building Components
See writing custom components for information on building components with webpack
.
# Build and publish a componentnpx webpackprism components:publish
#
components:triggers:listList Triggers that Components implement
prism components:triggers:list <Component Key> [--columns <string>] [--sort <string>] [--filter <string>] [--csv] [--output {csv,json,yaml}] [--extended] [--no-truncate] [--no-header] [--public] [--private]
Flag | Shorthand | Description | Required |
---|---|---|---|
Component Key | The key of the component to show triggers for (e.g. 'salesforce') | true | |
--columns | only show provided columns (comma-separated) | false | |
--csv | output is csv format [alias: --output=csv] | false | |
--extended | -x | show extra columns | false |
--filter | filter property by partial string matching, ex: name=foo | false | |
--no-header | hide table header from output | false | |
--no-truncate | do not truncate output to fit screen | false | |
--output ['csv', 'json', 'yaml'] | output in a more machine friendly format | false | |
--private | Show 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 | |
--public | Show 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 | |
--sort | property to sort by (prepend '-' for descending) | false |
# Get the ID of the Webhook trigger of the Webhook Triggers component by keyprism components:triggers:list --columns id --filter 'key=^webhook$' --no-header webhook-triggers
# Get triggers related to the Management Triggers componentprism components:triggers:list management-triggers
#
Customers CLI Commands#
customers:createCreate a new Customer
prism customers:create --name <string> [--description <string>] [--externalId <string>] [--label <string>]
Flag | Shorthand | Description | Required |
---|---|---|---|
--description | -d | longer description of the customer | false |
--externalId | -e | external ID of the customer from your system | false |
--label | -l | a label to apply to the customer | false |
--name | -n | short name of the new customer | true |
#
customers:create ExamplesApply multiple labels to a customer
prism customers:create --name "Widgets Inc" --externalId "abc-123" --label "Prod Customers" --label "Beta Testers"
#
customers:credentials:createCreate a set of Customer-specific Credentials for use by Instance Actions
prism customers:credentials:create --customer <string> --label <string> --authorization-method <string> [--fields <string>]
Flag | Shorthand | Description | Required |
---|---|---|---|
--authorization-method | -a | ID of the authorization method | true |
--customer | -c | ID of the customer | true |
--fields | -f | username, password, etc., in JSON format | false |
--label | -l | name to give the new credentials | true |
# 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:deleteDelete a Customer Credential
prism customers:credentials:delete <credential>
Flag | Shorthand | Description | Required |
---|---|---|---|
credential | ID of the credential to delete | true |
#
customers:credentials:listList 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]
Flag | Shorthand | Description | Required |
---|---|---|---|
--columns | only show provided columns (comma-separated) | false | |
--csv | output is csv format [alias: --output=csv] | false | |
--customer | -c | ID of a customer | true |
--extended | -x | show extra columns | false |
--filter | filter property by partial string matching, ex: name=foo | false | |
--no-header | hide table header from output | false | |
--no-truncate | do not truncate output to fit screen | false | |
--output ['csv', 'json', 'yaml'] | output in a more machine friendly format | false | |
--sort | property to sort by (prepend '-' for descending) | false |
#
customers:credentials:updateUpdate a Customer-specific Credential for use by Instance Actions
prism customers:credentials:update <credential> --label <string> --fields <string>
Flag | Shorthand | Description | Required |
---|---|---|---|
credential | ID of a credential | true | |
--fields | -f | username, password, etc., in JSON format | true |
--label | -l | new name to give the credential | true |
#
customers:deleteDelete a Customer
prism customers:delete <customer>
Flag | Shorthand | Description | Required |
---|---|---|---|
customer | ID of the customer to delete | true |
#
customers:listList your Customers
prism customers:list [--columns <string>] [--sort <string>] [--filter <string>] [--csv] [--output {csv,json,yaml}] [--extended] [--no-truncate] [--no-header]
Flag | Shorthand | Description | Required |
---|---|---|---|
--columns | only show provided columns (comma-separated) | false | |
--csv | output is csv format [alias: --output=csv] | false | |
--extended | -x | show extra columns | false |
--filter | filter property by partial string matching, ex: name=foo | false | |
--no-header | hide table header from output | false | |
--no-truncate | do not truncate output to fit screen | false | |
--output ['csv', 'json', 'yaml'] | output in a more machine friendly format | false | |
--sort | property to sort by (prepend '-' for descending) | false |
#
customers:updateUpdate a Customer
prism customers:update <customer> [--name <string>] [--description <string>] [--externalId <string>] [--label <string>]
Flag | Shorthand | Description | Required |
---|---|---|---|
customer | ID of a customer | true | |
--description | -d | description of the customer | false |
--externalId | -e | external ID of the customer from your system | false |
--label | -l | a label to apply to the customer | false |
--name | -n | name of the customer | false |
#
customers:update ExamplesApply multiple labels to a customer (note: previously set labels will be overwritten)
prism customers:update Q3VzdG9tZXI6MmUzZDllOTUtMWIyMy00N2FjLTk3MjUtMzU1OTA2YzgyZWZj --label "Prod Customers" --label "Beta Testers"
#
customers:users:createCreate a User for the specified Customer
prism customers:users:create --email <string> --role <string> --customer <string> [--name <string>]
Flag | Shorthand | Description | Required |
---|---|---|---|
--customer | -c | ID of the customer this user is associated with | true |
--email | -e | email address | true |
--name | -n | name of the new user | false |
--role | -r | ID of the role to assign the user | true |
# 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:deleteDelete a Customer User
prism customers:users:delete <user>
Flag | Shorthand | Description | Required |
---|---|---|---|
user | ID of the user to delete | true |
#
customers:users:listList Customer Users
prism customers:users:list <customer> [--columns <string>] [--sort <string>] [--filter <string>] [--csv] [--output {csv,json,yaml}] [--extended] [--no-truncate] [--no-header]
Flag | Shorthand | Description | Required |
---|---|---|---|
customer | ID of the customer | true | |
--columns | only show provided columns (comma-separated) | false | |
--csv | output is csv format [alias: --output=csv] | false | |
--extended | -x | show extra columns | false |
--filter | filter property by partial string matching, ex: name=foo | false | |
--no-header | hide table header from output | false | |
--no-truncate | do not truncate output to fit screen | false | |
--output ['csv', 'json', 'yaml'] | output in a more machine friendly format | false | |
--sort | property to sort by (prepend '-' for descending) | false |
#
customers:users:rolesList 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]
Flag | Shorthand | Description | Required |
---|---|---|---|
--columns | only show provided columns (comma-separated) | false | |
--csv | output is csv format [alias: --output=csv] | false | |
--extended | -x | show extra columns | false |
--filter | filter property by partial string matching, ex: name=foo | false | |
--no-header | hide table header from output | false | |
--no-truncate | do not truncate output to fit screen | false | |
--output ['csv', 'json', 'yaml'] | output in a more machine friendly format | false | |
--sort | property 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:updateUpdate a User
prism customers:users:update <user> [--name <string>] [--phone <string>] [--dark-mode <string>] [--dark-mode-os-sync <string>]
Flag | Shorthand | Description | Required |
---|---|---|---|
user | ID of a user | true | |
--dark-mode | -d | whether the user should have dark mode enabled | false |
--dark-mode-os-sync | -o | whether dark mode should sync with OS settings | false |
--name | -n | name of the user | false |
--phone | -p | phone number of the user | false |
#
Executions CLI Commands#
executions:step-result:getGets the Result of a specified Step in an Instance Execution
prism executions:step-result:get --executionId <string> --stepName <string> [--outputPath <string>]
Flag | Shorthand | Description | Required |
---|---|---|---|
--executionId | -e | ID of an Execution | true |
--outputPath | -p | Output result to a file. Output will be printed to stdout if this is omitted | false |
--stepName | -s | Name of an Integration Step | true |
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:listList 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]
Flag | Shorthand | Description | Required |
---|---|---|---|
instance | ID of an instance | true | |
--columns | only show provided columns (comma-separated) | false | |
--csv | output is csv format [alias: --output=csv] | false | |
--extended | -x | show extra columns | false |
--filter | filter property by partial string matching, ex: name=foo | false | |
--no-header | hide table header from output | false | |
--no-truncate | do not truncate output to fit screen | false | |
--output ['csv', 'json', 'yaml'] | output in a more machine friendly format | false | |
--sort | property to sort by (prepend '-' for descending) | false |
#
instances:createCreate an Instance
prism instances:create --name <string> --integration <string> --customer <string> [--description <string>] [--config-vars <string>]
Flag | Shorthand | Description | Required |
---|---|---|---|
--config-vars | -v | config variables to bind to steps of your instance | false |
--customer | -c | ID of customer to deploy to | true |
--description | -d | longer description of the instance | false |
--integration | -i | ID of the integration this is an instance of | true |
--name | -n | name of your new instance. | true |
# Find the ID of the integration you want to deployINTEGRATION_ID=$(prism integrations:list --columns id --no-header --filter 'name=Acme Inc')
# Find the version ID of the latest available published versionVERSION_ID=$(prism integrations:versions ${INTEGRATION_ID} --latest-available --columns id --no-header)
# Connection config variables must be escapedCREDENTIALS='[{\"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}\" } ]"
#
instances:deleteDelete an Instance
prism instances:delete <instance>
Flag | Shorthand | Description | Required |
---|---|---|---|
instance | ID of the instance to delete | true |
#
instances:deployDeploy an Instance
prism instances:deploy <instance> [--force]
Flag | Shorthand | Description | Required |
---|---|---|---|
instance | ID of an instance | true | |
--force | -f | Force deployment even when there are certain conditions that would normally prevent it | false |
#
instances:disableDisable an Instance
prism instances:disable <instance>
Flag | Shorthand | Description | Required |
---|---|---|---|
instance | ID of an instance | true |
#
instances:enableEnable an Instance
prism instances:enable <instance>
Flag | Shorthand | Description | Required |
---|---|---|---|
instance | ID of an instance | true |
#
instances:flow-configs:listList 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]
Flag | Shorthand | Description | Required |
---|---|---|---|
instance | ID of an Instance | true | |
--columns | only show provided columns (comma-separated) | false | |
--csv | output is csv format [alias: --output=csv] | false | |
--extended | -x | show extra columns | false |
--filter | filter property by partial string matching, ex: name=foo | false | |
--no-header | hide table header from output | false | |
--no-truncate | do not truncate output to fit screen | false | |
--output ['csv', 'json', 'yaml'] | output in a more machine friendly format | false | |
--sort | property to sort by (prepend '-' for descending) | false |
#
instances:flow-configs:testTest a Flow Config of an Instance
prism instances:flow-configs:test <flowConfig> [--extended] [--columns <string>] [--tail] [--payload <string>] [--contentType <string>]
Flag | Shorthand | Description | Required |
---|---|---|---|
flowConfig | ID of a Flow Config to test | true | |
--columns | only show provided columns (comma-separated) | false | |
--contentType | -c | Optional content-type for the test payload | false |
--extended | -x | show extra columns | false |
--payload | -p | Optional JSON-formatted data payload to submit with the test | false |
--tail | -t | Tail logs of the flow config test run | false |
#
instances:listList Instances
prism instances:list [--customer <string>] [--integration <string>] [--columns <string>] [--sort <string>] [--filter <string>] [--csv] [--output {csv,json,yaml}] [--extended] [--no-truncate] [--no-header]
Flag | Shorthand | Description | Required |
---|---|---|---|
--columns | only show provided columns (comma-separated) | false | |
--csv | output is csv format [alias: --output=csv] | false | |
--customer | -c | ID of a customer | false |
--extended | -x | show extra columns | false |
--filter | filter property by partial string matching, ex: name=foo | false | |
--integration | -i | ID of an integration | false |
--no-header | hide table header from output | false | |
--no-truncate | do not truncate output to fit screen | false | |
--output ['csv', 'json', 'yaml'] | output in a more machine friendly format | false | |
--sort | property to sort by (prepend '-' for descending) | false |
#
instances:updateUpdate an Instance
prism instances:update <instance> [--name <string>] [--description <string>]
Flag | Shorthand | Description | Required |
---|---|---|---|
instance | ID of an instance | true | |
--description | -d | Description for the instance | false |
--name | -n | Name of the instance | false |
#
Integrations CLI Commands#
integrations:availableMark an Integration version as available or unavailable
prism integrations:available <integration> --available
Flag | Shorthand | Description | Required |
---|---|---|---|
integration | ID of an integration version | true | |
--available | -a | Version is available or unavailable | true |
#
integrations:createCreate an Integration
prism integrations:create --name <string> --description <string> [--customer <string>]
Flag | Shorthand | Description | Required |
---|---|---|---|
--customer | -c | ID of customer with which to associate the integration | false |
--description | -d | longer description of the integration | true |
--name | -n | name of the integration to create | true |
#
integrations:deleteDelete an Integration
prism integrations:delete <integration>
Flag | Shorthand | Description | Required |
---|---|---|---|
integration | ID of the integration to delete | true |
#
integrations:exportExport an integration to YAML definition
prism integrations:export <integration> [--latest-components]
Flag | Shorthand | Description | Required |
---|---|---|---|
integration | ID of an integration to export | true | |
--latest-components | -l | Use the latest available version of each Component upon import | false |
#
integrations:flows:listList Integration Flows
prism integrations:flows:list <integration> [--columns <string>] [--sort <string>] [--filter <string>] [--csv] [--output {csv,json,yaml}] [--extended] [--no-truncate] [--no-header]
Flag | Shorthand | Description | Required |
---|---|---|---|
integration | ID of an Integration | true | |
--columns | only show provided columns (comma-separated) | false | |
--csv | output is csv format [alias: --output=csv] | false | |
--extended | -x | show extra columns | false |
--filter | filter property by partial string matching, ex: name=foo | false | |
--no-header | hide table header from output | false | |
--no-truncate | do not truncate output to fit screen | false | |
--output ['csv', 'json', 'yaml'] | output in a more machine friendly format | false | |
--sort | property to sort by (prepend '-' for descending) | false |
#
integrations:flows:testRun a test of an Integration Flow
prism integrations:flows:test <flow> [--extended] [--columns <string>] [--tail] [--payload <string>] [--contentType <string>]
Flag | Shorthand | Description | Required |
---|---|---|---|
flow | ID of a flow to test | true | |
--columns | only show provided columns (comma-separated) | false | |
--contentType | -c | Optional content-type for the test payload | false |
--extended | -x | show extra columns | false |
--payload | -p | Optional JSON-formatted data payload to submit with the test | false |
--tail | -t | Tail logs of the integration test run | false |
# Test an integration flow named 'My Integration Flow' and tail log outputprism integrations:flows:test \ --tail \ $(prism integrations:flows:list \ --columns id \ --no-header \ --filter 'name=^My Integration Flow$')
#
integrations:forkFork an Integration
prism integrations:fork <parent> --name <string> --description <string>
Flag | Shorthand | Description | Required |
---|---|---|---|
parent | ID of the Integration to fork | true | |
--description | -d | longer description of the forked integration | true |
--name | -n | name of the forked integration | true |
#
integrations:importImport an Integration using a YAML definition file
prism integrations:import --path <string> [--integrationId <string>]
Flag | Shorthand | Description | Required |
---|---|---|---|
--integrationId | -i | The ID of the integration being imported | false |
--path | -p | path to the YAML definition of the integration to import | true |
#
integrations:listList Integrations
prism integrations:list [--columns <string>] [--sort <string>] [--filter <string>] [--csv] [--output {csv,json,yaml}] [--extended] [--no-truncate] [--no-header] [--showAllVersions]
Flag | Shorthand | Description | Required |
---|---|---|---|
--columns | only show provided columns (comma-separated) | false | |
--csv | output is csv format [alias: --output=csv] | false | |
--extended | -x | show extra columns | false |
--filter | filter property by partial string matching, ex: name=foo | false | |
--no-header | hide table header from output | false | |
--no-truncate | do not truncate output to fit screen | false | |
--output ['csv', 'json', 'yaml'] | output in a more machine friendly format | false | |
--showAllVersions | -a | If specified this command returns all versions of all integrations rather than only the latest version | false |
--sort | property to sort by (prepend '-' for descending) | false |
#
integrations:publishPublish a version of an Integration for use in Instances
prism integrations:publish <integration> [--comment <string>]
Flag | Shorthand | Description | Required |
---|---|---|---|
integration | ID of an integration to publish | true | |
--comment | -c | comment about changes in this publication | false |
#
integrations:updateUpdate an Integration's name or description
prism integrations:update <integration> [--name <string>] [--description <string>] [--customer <string>] [--test-config-vars <string>] [--default-config-vars <string>]
Flag | Shorthand | Description | Required |
---|---|---|---|
integration | ID of an integration | true | |
--customer | -c | ID of customer with which to associate the integration | false |
--default-config-vars | JSON-formatted default values for config variables that are replaced with instance or test config variables | false | |
--description | -d | new description to give the integration | false |
--name | -n | new name to give the integration | false |
--test-config-vars | JSON-formatted config variables to be used for testing | false |
#
integrations:versionsList Integration versions
prism integrations:versions <integration> [--columns <string>] [--sort <string>] [--filter <string>] [--csv] [--output {csv,json,yaml}] [--extended] [--no-truncate] [--no-header] [--latest-available]
Flag | Shorthand | Description | Required |
---|---|---|---|
integration | ID of an integration | true | |
--columns | only show provided columns (comma-separated) | false | |
--csv | output is csv format [alias: --output=csv] | false | |
--extended | -x | show extra columns | false |
--filter | filter property by partial string matching, ex: name=foo | false | |
--latest-available | -l | Show only the latest available version | false |
--no-header | hide table header from output | false | |
--no-truncate | do not truncate output to fit screen | false | |
--output ['csv', 'json', 'yaml'] | output in a more machine friendly format | false | |
--sort | property to sort by (prepend '-' for descending) | false |
#
Login CLI Commands#
loginLog in to your Prismatic account
prism login [--force] [--url]
Flag | Shorthand | Description | Required |
---|---|---|---|
--force | -f | re-authenticate, even if you are already logged in | false |
--url | -u | returns a challenge url without automatically opening a browser | false |
#
Logout CLI Commands#
logoutLog out of your Prismatic account
prism logout [--browser]
Flag | Shorthand | Description | Required |
---|---|---|---|
--browser | -b | additionally log out of your default browser's session | false |
#
Logs CLI Commands#
logs:severities:listList 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]
Flag | Shorthand | Description | Required |
---|---|---|---|
--columns | only show provided columns (comma-separated) | false | |
--csv | output is csv format [alias: --output=csv] | false | |
--extended | -x | show extra columns | false |
--filter | filter property by partial string matching, ex: name=foo | false | |
--no-header | hide table header from output | false | |
--no-truncate | do not truncate output to fit screen | false | |
--output ['csv', 'json', 'yaml'] | output in a more machine friendly format | false | |
--sort | property to sort by (prepend '-' for descending) | false |
#
Me CLI Commands#
mePrint your user profile information
prism me
#
me:tokenPrint your authorization tokens
prism me:token [--type {access,refresh}]
Flag | Shorthand | Description | Required |
---|---|---|---|
--type ['access', 'refresh'] | -t | Which token type to print | false |
#
me:token:revokeRevoke all refresh tokens for your user
prism me:token:revoke
#
Organization CLI Commands#
organization:credentials:createCreate a set of Organization-level Credentials for use by Instance Actions
prism organization:credentials:create --label <string> --authorization-method <string> [--fields <string>]
Flag | Shorthand | Description | Required |
---|---|---|---|
--authorization-method | -a | ID of the authorization method | true |
--fields | -f | username, password, etc., in JSON format | false |
--label | -l | name to give the new credentials | true |
# Create basic auth for REST resource at website.com/resourceprism 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:deleteDelete an Organization Credential
prism organization:credentials:delete <credential>
Flag | Shorthand | Description | Required |
---|---|---|---|
credential | ID of the credential to delete | true |
#
organization:credentials:listList 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]
Flag | Shorthand | Description | Required |
---|---|---|---|
--columns | only show provided columns (comma-separated) | false | |
--csv | output is csv format [alias: --output=csv] | false | |
--extended | -x | show extra columns | false |
--filter | filter property by partial string matching, ex: name=foo | false | |
--no-header | hide table header from output | false | |
--no-truncate | do not truncate output to fit screen | false | |
--output ['csv', 'json', 'yaml'] | output in a more machine friendly format | false | |
--sort | property to sort by (prepend '-' for descending) | false |
#
organization:credentials:updateUpdate a Customer-specific Credential for use by Instance Actions
prism organization:credentials:update <credential> --label <string> --fields <string>
Flag | Shorthand | Description | Required |
---|---|---|---|
credential | ID of a credential | true | |
--fields | -f | username, password, etc., in JSON format | true |
--label | -l | new name to give the credential | true |
#
organization:signingkeys:deleteDelete an embedded marketplace signing key
prism organization:signingkeys:delete <signingKeyId>
Flag | Shorthand | Description | Required |
---|---|---|---|
signingKeyId | ID of the signing key to delete | true |
#
organization:signingkeys:generateGenerate 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:importImport a RSA public key for use with embedded marketplace
prism organization:signingkeys:import --public-key-file <string>
Flag | Shorthand | Description | Required |
---|---|---|---|
--public-key-file | -p | public key file | true |
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:listList 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]
Flag | Shorthand | Description | Required |
---|---|---|---|
--columns | only show provided columns (comma-separated) | false | |
--csv | output is csv format [alias: --output=csv] | false | |
--extended | -x | show extra columns | false |
--filter | filter property by partial string matching, ex: name=foo | false | |
--no-header | hide table header from output | false | |
--no-truncate | do not truncate output to fit screen | false | |
--output ['csv', 'json', 'yaml'] | output in a more machine friendly format | false | |
--sort | property to sort by (prepend '-' for descending) | false |
#
organization:updateUpdate your Organization
prism organization:update [--name <string>]
Flag | Shorthand | Description | Required |
---|---|---|---|
--name | -n | name of the organization | false |
#
organization:updateAvatarUrlUpdate your Organization Avatar URL
prism organization:updateAvatarUrl --organizationId <string> [--avatarUrl <string>]
Flag | Shorthand | Description | Required |
---|---|---|---|
--avatarUrl | -n | Url of the organization avatar | false |
--organizationId | ID of an organization | true |
#
organization:users:createCreate a User for your Organization
prism organization:users:create [--name <string>] --email <string> --role <string>
Flag | Shorthand | Description | Required |
---|---|---|---|
--email | -e | email address of the user | true |
--name | -n | name of the user | false |
--role | -r | role the user should assume | true |
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' roleprism organization:users:create \ --email 'foo@email.com' \ --name 'Susan Foo' \ --role $(prism organization:users:roles \ --columns id \ --no-header \ --filter 'name=^Integrator$')
#
organization:users:deleteDelete an Organization User
prism organization:users:delete <user>
Flag | Shorthand | Description | Required |
---|---|---|---|
user | ID of the user to delete | true |
#
organization:users:listList Users of your Organization
prism organization:users:list [--columns <string>] [--sort <string>] [--filter <string>] [--csv] [--output {csv,json,yaml}] [--extended] [--no-truncate] [--no-header]
Flag | Shorthand | Description | Required |
---|---|---|---|
--columns | only show provided columns (comma-separated) | false | |
--csv | output is csv format [alias: --output=csv] | false | |
--extended | -x | show extra columns | false |
--filter | filter property by partial string matching, ex: name=foo | false | |
--no-header | hide table header from output | false | |
--no-truncate | do not truncate output to fit screen | false | |
--output ['csv', 'json', 'yaml'] | output in a more machine friendly format | false | |
--sort | property to sort by (prepend '-' for descending) | false |
#
organization:users:rolesList 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]
Flag | Shorthand | Description | Required |
---|---|---|---|
--columns | only show provided columns (comma-separated) | false | |
--csv | output is csv format [alias: --output=csv] | false | |
--extended | -x | show extra columns | false |
--filter | filter property by partial string matching, ex: name=foo | false | |
--no-header | hide table header from output | false | |
--no-truncate | do not truncate output to fit screen | false | |
--output ['csv', 'json', 'yaml'] | output in a more machine friendly format | false | |
--sort | property to sort by (prepend '-' for descending) | false |
#
organization:users:updateUpdate a User
prism organization:users:update <user> [--name <string>] [--phone <string>] [--dark-mode <string>] [--dark-mode-os-sync <string>]
Flag | Shorthand | Description | Required |
---|---|---|---|
user | ID of a user | true | |
--dark-mode | -d | whether the user should have dark mode enabled | false |
--dark-mode-os-sync | -o | whether dark mode should sync with OS settings | false |
--name | -n | name of the user | false |
--phone | -p | phone number of the user | false |