@fragment-dev/cli
v2025.12.8
Published
FRAGMENT CLI
Readme
@fragment-dev/cli
Fragment is the Ledger API for engineers that move money. Stop wrangling payment tables, debugging balance errors and hacking together data pipelines. Start shipping the features that make a difference.
Commands
fragment add-ledger-entryfragment autocomplete [SHELL]fragment commandsfragment create-custom-linkfragment create-ledgerfragment delete-custom-txsfragment delete-ledgerfragment delete-schemafragment gen-graphqlfragment get-schemafragment help [COMMAND]fragment initfragment loginfragment migrate-ledger-entryfragment query ledgerAccountsfragment query ledgersfragment query schemafragment query schemasfragment reverse-ledger-entryfragment startfragment store-schemafragment tokenfragment updatefragment update-ledger-accountfragment verify-schemafragment workspace
fragment add-ledger-entry
Add a Ledger Entry to a Ledger Account.
USAGE
$ fragment add-ledger-entry -i <value> -l <value> -t <value> [-v] [-n <value>] [-p <value>...]
FLAGS
-i, --ik=<value> (required) The Idempotency Key for Ledger Entry creation.
-l, --ledger.ik=<value> (required) The Idempotency Key of the Ledger to post the Ledger Entry to.
-n, --type.version=<value> The version of the Ledger Entry type you want to post.
-p, --param=<value>... The parameters for your Ledger Entry. (ex: --param amount=100 --param currency=USD)
-t, --type=<value> (required) The `type` of Ledger Entry you want to post.
-v, --verbose Enable verbose mode (prints GraphQL commands).
DESCRIPTION
Add a Ledger Entry to a Ledger Account.
This mirrors the addLedgerEntry mutation in the GraphQL API.
Only entries with type are allowed to be posted to a Ledger Account.
EXAMPLES
$ fragment add-ledger-entry
FLAG DESCRIPTIONS
-p, --param=<value>... The parameters for your Ledger Entry. (ex: --param amount=100 --param currency=USD)
You may specify multiple parameters by repeating the flag.fragment autocomplete [SHELL]
Display autocomplete installation instructions.
USAGE
$ fragment autocomplete [SHELL] [-r]
ARGUMENTS
SHELL (zsh|bash|powershell) Shell type
FLAGS
-r, --refresh-cache Refresh cache (ignores displaying instructions)
DESCRIPTION
Display autocomplete installation instructions.
EXAMPLES
$ fragment autocomplete
$ fragment autocomplete bash
$ fragment autocomplete zsh
$ fragment autocomplete powershell
$ fragment autocomplete --refresh-cacheSee code: @oclif/plugin-autocomplete
fragment commands
List all fragment commands.
USAGE
$ fragment commands [--json] [-c id|plugin|summary|type... | --tree] [--deprecated] [-x | ] [--hidden]
[--no-truncate | ] [--sort id|plugin|summary|type | ]
FLAGS
-c, --columns=<option>... Only show provided columns (comma-separated).
<options: id|plugin|summary|type>
-x, --extended Show extra columns.
--deprecated Show deprecated commands.
--hidden Show hidden commands.
--no-truncate Do not truncate output.
--sort=<option> [default: id] Property to sort by.
<options: id|plugin|summary|type>
--tree Show tree of commands.
GLOBAL FLAGS
--json Format output as json.
DESCRIPTION
List all fragment commands.See code: @oclif/plugin-commands
fragment create-custom-link
Create a Custom Link
USAGE
$ fragment create-custom-link -i <value> --name <value> [-v]
FLAGS
-i, --ik=<value> (required) The Idempotency Key for the Custom Link creation.
-v, --verbose Enable verbose mode (prints GraphQL commands).
--name=<value> (required) The name for the Custom Link.
DESCRIPTION
Create a Custom Link
This mirrors the CreateCustomLink API endpoint.
Read https://fragment.dev/docs/sync-payments#custom-link-onboarding to learn more about Custom Links.
EXAMPLES
$ fragment create-custom-link --ik <ik> --name <name>fragment create-ledger
Create schematized Ledger within your Fragment workspace
USAGE
$ fragment create-ledger -i <value> -n <value> [-v] [-s <value>]
FLAGS
-i, --ik=<value> (required) Idempotency key for Ledger creation
-n, --name=<value> (required) Ledger name (e.g. 'My First Ledger')
-s, --schema=<value> [default: fragment.jsonc] Path to schema file (defaults to fragment.jsonc)
-v, --verbose Enable verbose mode (prints GraphQL commands).
DESCRIPTION
Create schematized Ledger within your Fragment workspace
EXAMPLES
$ fragment create-ledgerfragment delete-custom-txs
Delete Custom Txs.
USAGE
$ fragment delete-custom-txs --id <value>... [-v]
FLAGS
-v, --verbose Enable verbose mode (prints GraphQL commands).
--id=<value>... (required) Fragment ID of the Custom Tx to delete.
DESCRIPTION
Delete Custom Txs.
This mirrors the deleteCustomTxs mutation in the GraphQL API.
EXAMPLES
$ fragment delete-custom-txsfragment delete-ledger
Delete a Ledger.
USAGE
$ fragment delete-ledger [-v] [-l <value>] [--ledger.id <value>]
FLAGS
-l, --ledger.ik=<value> The Idempotency Key of the Ledger to delete.
-v, --verbose Enable verbose mode (prints GraphQL commands).
--ledger.id=<value> The Fragment ID of the Ledger to delete.
DESCRIPTION
Delete a Ledger.
This mirrors the deleteLedger mutation in the GraphQL API.
EXAMPLES
$ fragment delete-ledgerfragment delete-schema
Delete a Schema.
USAGE
$ fragment delete-schema -k <value> [-v]
FLAGS
-k, --key=<value> (required) Key of the Schema to delete (e.g. template-schema).
-v, --verbose Enable verbose mode (prints GraphQL commands).
DESCRIPTION
Delete a Schema.
This mirrors the deleteSchema mutation in the GraphQL API.
EXAMPLES
$ fragment delete-schemafragment gen-graphql
Generate GraphQL queries from your Schema for your SDK.
USAGE
$ fragment gen-graphql -p <value> -o <value> [--output-file-per-query] [--include-standard-queries]
FLAGS
-o, --output=<value> (required) The output path for the generated file(s). Must end with .graphql or .gql,
unless --output-file-per-query is set. If set, the output path must be a directory.
-p, --path=<value> (required) The path to the schema file.
--include-standard-queries Include the set of standard queries in the output. This is required only if you are
not using the Fragment SDK.
--output-file-per-query Output each query in a separate file instead of a single file.
DESCRIPTION
Generate GraphQL queries from your Schema for your SDK.
This command generates a GraphQL query for each entry type in your ledger Schema.
Use this command with Fragment SDKs to create type-safe code to update your ledger.
EXAMPLES
Output the GraphQL queries from the schema file at <path>.
$ fragment gen-graphql --path <path>
Output the GraphQL queries to a specific output path.
$ fragment gen-graphql --path <path> --output <output path>
Output each GraphQL query in a separate file.
$ fragment gen-graphql --path <path> --output <output path> --output-file-per-query
Include the standard GraphQL queries and output each in a separate file.
$ fragment gen-graphql --path <path> --output <output path> --output-file-per-query --include-standard-queriesfragment get-schema
Retrieve a schema from the API for local use
USAGE
$ fragment get-schema [-v] [-k <value>] [--version <value>] [-o <value>]
FLAGS
-k, --key=<value> Key of schema (e.g. template-schema)
-o, --output=<value> Path to the schema file (e.g. /home/user/code/schema.jsonc). Defaults to the current directory
and the schema key as the file name.
-v, --verbose Enable verbose mode (prints GraphQL commands).
--version=<value> Schema version to retrieve (e.g. 2). Defaults to latest available version.
DESCRIPTION
Retrieve a schema from the API for local use
EXAMPLES
$ fragment get-schemafragment help [COMMAND]
Display help for fragment.
USAGE
$ fragment help [COMMAND...] [-n]
ARGUMENTS
COMMAND... Command to show help for.
FLAGS
-n, --nested-commands Include all nested commands in the output.
DESCRIPTION
Display help for fragment.See code: @oclif/plugin-help
fragment init
Initialize an example chart of accounts locally
USAGE
$ fragment init [-f <value>]
FLAGS
-f, --file=<value> [default: fragment.jsonc] Path to write initial schema to
DESCRIPTION
Initialize an example chart of accounts locally
EXAMPLES
$ fragment initfragment login
Authenticate with FRAGMENT.
USAGE
$ fragment login [--client-id <value>] [--client-secret <value>] [--api-url <value>] [--oauth-url
<value>] [--oauth-scope <value>] [--test]
FLAGS
--api-url=<value> The API URL for your FRAGMENT Workspace (ex: https://api.us-west-2.fragment.dev/graphql)
--client-id=<value> The API Client ID for your FRAGMENT Workspace.
--client-secret=<value> The API Client Secret for your FRAGMENT Workspace
--oauth-scope=<value> The OAuth Scope for your auth token (ex: https://api.us-west-2.fragment.dev/*)
--oauth-url=<value> The OAuth URL from which to retrieve your auth token (ex:
https://auth.fragment.dev/oauth2/token)
--test If set, tests stored credentials only
DESCRIPTION
Authenticate with FRAGMENT.
Authentication is scoped to one FRAGMENT Workspace.
If you want to authenticate with another Workspace, you must create another API Client and follow the authentication
flow again.
Credentials will be written to ~/.fragment/auth.json.
EXAMPLES
$ fragment login
$ fragment login --client-id <client-id> --client-secret <client-secret> --api-url <api-url> --oauth-url <oauth-url>fragment migrate-ledger-entry
Migrate a Ledger Entry to a new type and version.
USAGE
$ fragment migrate-ledger-entry -e <value> -l <value> -t <value> [-v] [-n <value>] [-p <value>...]
FLAGS
-e, --entry.id=<value> (required) The ID of the Ledger Entry to migrate.
-l, --ledger.ik=<value> (required) The Idempotency Key of the Ledger containing the entry.
-n, --new.entry.type.version=<value> The new version of the Ledger Entry type.
-p, --param=<value>... The parameters for the new Ledger Entry. (ex: --param amount=100 --param
currency=USD)
-t, --new.entry.type=<value> (required) The new type for the migrated Ledger Entry.
-v, --verbose Enable verbose mode (prints GraphQL commands).
DESCRIPTION
Migrate a Ledger Entry to a new type and version.
This mirrors the migrateLedgerEntry mutation in the GraphQL API.
Migrates an existing Ledger Entry to a new type and version with new parameters.
EXAMPLES
$ fragment migrate-ledger-entry
FLAG DESCRIPTIONS
-p, --param=<value>... The parameters for the new Ledger Entry. (ex: --param amount=100 --param currency=USD)
You may specify multiple parameters by repeating the flag.fragment query ledgerAccounts
Get accounts for ledger within your workspace by ID
USAGE
$ fragment query ledgerAccounts -l <value> [-v] [--first <value>] [--after <value>]
FLAGS
-l, --ledger=<value> (required) Ledger ID to retrieve accounts for
-v, --verbose Enable verbose mode (prints GraphQL commands).
--after=<value> Cursor to paginate through ledger accounts
--first=<value> Number of ledger accounts to retrieve in each page
DESCRIPTION
Get accounts for ledger within your workspace by ID
EXAMPLES
$ fragment query ledgerAccountsfragment query ledgers
List all ledgers in your workspace
USAGE
$ fragment query ledgers [-v]
FLAGS
-v, --verbose Enable verbose mode (prints GraphQL commands).
DESCRIPTION
List all ledgers in your workspace
EXAMPLES
$ fragment query ledgersfragment query schema
Get schema from your workspace by key
USAGE
$ fragment query schema -k <value> [-v] [--version <value>]
FLAGS
-k, --key=<value> (required) Key of schema (e.g. template-schema)
-v, --verbose Enable verbose mode (prints GraphQL commands).
--version=<value> Schema version to retrieve (e.g. 2). Defaults to latest available version.
DESCRIPTION
Get schema from your workspace by key
EXAMPLES
$ fragment query schemafragment query schemas
List all schemas in your workspace
USAGE
$ fragment query schemas [-v]
FLAGS
-v, --verbose Enable verbose mode (prints GraphQL commands).
DESCRIPTION
List all schemas in your workspace
EXAMPLES
$ fragment query schemasfragment reverse-ledger-entry
Reverse a Ledger Entry.
USAGE
$ fragment reverse-ledger-entry --id <value> [-v]
FLAGS
-v, --verbose Enable verbose mode (prints GraphQL commands).
--id=<value> (required) Fragment ID of the Ledger Entry to reverse.
DESCRIPTION
Reverse a Ledger Entry.
This mirrors the reverseLedgerEntry mutation in the GraphQL API.
EXAMPLES
$ fragment reverse-ledger-entryfragment start
Develop your chart of accounts locally
USAGE
$ fragment start [-p <value>] [-f <value>] [--websocket-port <value>]
FLAGS
-f, --file=<value> [default: fragment.jsonc] Path for schema JSON file. Default to fragment.jsonc
-p, --port=<value> [default: 9410] Port for schema visualizer to run on
--websocket-port=<value> Port for the websocket to live on that syncs changes between the CLI and visualizer
DESCRIPTION
Develop your chart of accounts locally
EXAMPLES
$ fragment start --file ./my-fragment-schema.jsonfragment store-schema
Store schema within your Fragment workspace
USAGE
$ fragment store-schema [-v] [-p <value>]
FLAGS
-p, --path=<value> [default: fragment.jsonc] Path to schema file (e.g. fragment.jsonc)
-v, --verbose Enable verbose mode (prints GraphQL commands).
DESCRIPTION
Store schema within your Fragment workspace
EXAMPLES
$ fragment store-schemafragment token
Get a FRAGMENT Authentication Token.
USAGE
$ fragment token [-v]
FLAGS
-v, --verbose Enable verbose mode (prints GraphQL commands).
EXAMPLES
$ fragment tokenfragment update
Update the FRAGMENT CLI
USAGE
$ fragment update [-y] [--dry-run]
FLAGS
-y, --yes
--dry-run
DESCRIPTION
Update the FRAGMENT CLI
EXAMPLES
$ fragment updatefragment update-ledger-account
Update a Ledger Account within your Fragment Ledger.
USAGE
$ fragment update-ledger-account --update.name <value> [-v] [-p <value> | --ledgerAccount.id <value>] [-l <value>]
[--ledger.id <value>]
FLAGS
-l, --ledger.ik=<value> The Idempotency Key of the Ledger the Ledger Account is in.
-p, --ledgerAccount.path=<value> The unique path of the Ledger Account.
-v, --verbose Enable verbose mode (prints GraphQL commands).
--ledger.id=<value> The Fragment ID of the Ledger the Ledger Account is in.
--ledgerAccount.id=<value> The Fragment ID of the Ledger Account.
--update.name=<value> (required)
DESCRIPTION
Update a Ledger Account within your Fragment Ledger.
This mirrors the updateLedgerAccount mutation in the GraphQL API.
EXAMPLES
$ fragment update-ledger-accountfragment verify-schema
Verify that a schema file follows the Fragment JSON schema format
USAGE
$ fragment verify-schema [-p <value>] [-v] [-j]
FLAGS
-j, --json Output validation results as JSON for programmatic use
-p, --path=<value> [default: fragment/fragment.json] Path to schema file (e.g. my-schema.jsonc)
-v, --verbose Show detailed validation output
DESCRIPTION
Verify that a schema file follows the Fragment JSON schema format
EXAMPLES
$ fragment verify-schema
$ fragment verify-schema --path ./my-schema.jsonc
$ fragment verify-schema -p fragment/fragment.json --verbose
$ fragment verify-schema --path ./my-schema.jsonc --jsonfragment workspace
Get the details of the workspace this CLI is authenticated to
USAGE
$ fragment workspace [-v]
FLAGS
-v, --verbose Enable verbose mode (prints GraphQL commands).
DESCRIPTION
Get the details of the workspace this CLI is authenticated to
EXAMPLES
$ fragment workspace