Everything the Credible App manages, scriptable from your terminal
The Credible CLI (cred) puts the platform in your terminal. Everything the Credible App manages is scriptable — the same environments, packages, connections, and groups — which makes the CLI the natural building block for automation and CI/CD.
The CLI supports bash/zsh autocompletion. To set it up, run:
cred --install
Restart your shell, then type cred + TAB to see available commands, or cred ls + TAB to see resource types. Completion is context-aware — cred set environment + TAB completes your environment names, and cred ls version + TAB completes your package names. To remove it, run cred --cleanup.
There is no cred set package command. Use cred set environment to set your default environment. Packages are managed through publish/archive/unarchive commands.
--include-tables <tables>: Comma-separated list of tables to index for AI-assisted modeling, as {dataset/schema}.{table} (use * for all tables in a schema, e.g. sales.*,finance.orders)
--exclude-tables <tables>: Comma-separated list of tables to exclude from indexing (same format); mutually exclusive with --include-tables
--skip-indexing: Disable automatic indexing for this connection; cannot be combined with the table flags
The connectionFileName should be a JSON file containing an array of connection objects. The connection name is a field within the JSON, not a command-line argument.Command Syntax:
cred add connection <connectionFileName>
JSON File Structure:The file should contain an array of connection objects. Each connection has:
name: The connection name (required)
type: Connection type (postgres, bigquery, snowflake, trino, databricks, mysql)
The connection name is defined in the JSON file itself, not as a command argument. Names can contain only letters, numbers, and underscores, and must start with a letter or underscore. You can include multiple connections in a single JSON file array.
This command generates an API key that can be used to authenticate applications or services with the permissions of the specified group. The token is displayed once and should be stored securely.
cred add member <groupName> <memberType> <memberName> <role>
Arguments:
<groupName>: The name of the group
<memberType>: Type of member (user or group)
<memberName>: Name of the user or group to add
<role>: Member role (admin or member)
Examples:
# Add a user as admincred add member engineering-team user john.doe@example.com admin# Add a nested group as membercred add member engineering-team group data-analysts member
cred rm member <groupName> <memberType> <memberName>
Arguments:
<groupName>: The name of the group
<memberType>: Type of member (user or group)
<memberName>: Name of the user or group to remove
Example:
cred rm member engineering-team user john.doe@example.com
Groups enable role-based access control (RBAC) for organizing users and managing permissions across environments and packages. Groups can contain both individual users and other groups (nested groups).
List commands (cred ls environment, cred ls connection, cred ls package, cred ls index, cred ls run) return all records by default and accept:
Option
Description
--page <number>
Page number (starts at 1)
--page-size <number>
Items per page (max: 500)
Earlier CLI versions used project where the platform now uses environment (e.g., cred ls project). The project commands still work as deprecated aliases — use the environment forms going forward.