{"id":44683025,"url":"https://github.com/salesforcecli/plugin-data","last_synced_at":"2026-05-03T06:01:52.169Z","repository":{"id":36963586,"uuid":"306660413","full_name":"salesforcecli/plugin-data","owner":"salesforcecli","description":null,"archived":false,"fork":false,"pushed_at":"2026-03-30T03:47:57.000Z","size":10143,"stargazers_count":18,"open_issues_count":0,"forks_count":15,"subscribers_count":8,"default_branch":"main","last_synced_at":"2026-04-02T08:40:35.753Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/salesforcecli.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":"CODEOWNERS","security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2020-10-23T14:26:28.000Z","updated_at":"2026-03-30T03:47:59.000Z","dependencies_parsed_at":"2023-11-15T18:25:45.973Z","dependency_job_id":"72af1fe2-530b-4a28-90ce-56f14c2bd264","html_url":"https://github.com/salesforcecli/plugin-data","commit_stats":{"total_commits":1008,"total_committers":28,"mean_commits":36.0,"dds":0.5069444444444444,"last_synced_commit":"10e7a2be87bcde86eacdbdf53872b32e95100948"},"previous_names":["salesforcecli/data"],"tags_count":361,"template":false,"template_full_name":"salesforcecli/lerna-template","purl":"pkg:github/salesforcecli/plugin-data","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/salesforcecli%2Fplugin-data","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/salesforcecli%2Fplugin-data/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/salesforcecli%2Fplugin-data/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/salesforcecli%2Fplugin-data/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/salesforcecli","download_url":"https://codeload.github.com/salesforcecli/plugin-data/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/salesforcecli%2Fplugin-data/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31464101,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-05T21:22:52.476Z","status":"online","status_checked_at":"2026-04-06T02:00:07.287Z","response_time":112,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-02-15T05:06:43.932Z","updated_at":"2026-05-03T06:01:52.146Z","avatar_url":"https://github.com/salesforcecli.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![NPM](https://img.shields.io/npm/v/@salesforce/plugin-data.svg?label=@salesforce/plugin-data)](https://www.npmjs.com/package/@salesforce/plugin-data) [![Downloads/week](https://img.shields.io/npm/dw/@salesforce/plugin-data.svg)](https://npmjs.org/package/@salesforce/plugin-data) [![License](https://img.shields.io/badge/License-Apache--2.0-blue.svg)](https://opensource.org/license/apache-2-0)\n\n# plugin-data\n\n`data` commands for Salesforce CLI.\n\nThis plugin is bundled with the [Salesforce CLI](https://developer.salesforce.com/tools/sfdxcli). For more information\non the CLI, read\nthe [getting started guide](https://developer.salesforce.com/docs/atlas.en-us.sfdx_setup.meta/sfdx_setup/sfdx_setup_intro.htm)\n.\n\nWe always recommend using the latest version of these commands bundled with the CLI, however, you can install a specific\nversion or tag if needed.\n\n## Install\n\n```bash\nsf plugins:install data@x.y.z\n```\n\n## Issues\n\nPlease report any issues at https://github.com/forcedotcom/cli/issues\n\n## Contributing\n\n1. Please read our [Code of Conduct](CODE_OF_CONDUCT.md)\n2. Create a new issue before starting your project so that we can keep track of what you are trying to add/fix. That\n   way, we can also offer suggestions or let you know if there is already an effort in progress.\n3. Fork this repository.\n4. [Build the plugin locally](#build)\n5. Create a _topic_ branch in your fork. Note, this step is recommended but technically not required if contributing\n   using a fork.\n6. Edit the code in your fork.\n7. Write appropriate tests for your changes. Try to achieve at least 95% code coverage on any new code. No pull request\n   will be accepted without unit tests.\n8. Sign CLA (see [CLA](#cla) below).\n9. Send us a pull request when you are done. We'll review your code, suggest any needed changes, and merge it in.\n\n### CLA\n\nExternal contributors will be required to sign a Contributor's License Agreement. You can do so by going\nto https://cla.salesforce.com/sign-cla.\n\n### Build\n\nTo build the plugin locally, make sure to have yarn installed and run the following commands:\n\n```bash\n# Clone the repository\ngit clone git@github.com:salesforcecli/plugin-data\n\n# Install the dependencies and compile\nyarn install\nyarn build\n```\n\nTo use your plugin, run using the local `./bin/dev` or `./bin/dev.cmd` file.\n\n```bash\n# Run using local run file.\n./bin/dev force:data\n```\n\nThere should be no differences when running via the Salesforce CLI or using the local run file. However, it can be\nuseful to link the plugin to do some additional testing or run your commands from anywhere on your machine.\n\n```bash\n# Link your plugin to the sf cli\nsf plugins:link .\n# To verify\nsf plugins\n```\n\n# Commands\n\n\u003c!-- commands --\u003e\n\n- [`sf data bulk results`](#sf-data-bulk-results)\n- [`sf data create file`](#sf-data-create-file)\n- [`sf data create record`](#sf-data-create-record)\n- [`sf data delete bulk`](#sf-data-delete-bulk)\n- [`sf data delete record`](#sf-data-delete-record)\n- [`sf data delete resume`](#sf-data-delete-resume)\n- [`sf data export bulk`](#sf-data-export-bulk)\n- [`sf data export resume`](#sf-data-export-resume)\n- [`sf data export tree`](#sf-data-export-tree)\n- [`sf data get record`](#sf-data-get-record)\n- [`sf data import bulk`](#sf-data-import-bulk)\n- [`sf data import resume`](#sf-data-import-resume)\n- [`sf data import tree`](#sf-data-import-tree)\n- [`sf data query`](#sf-data-query)\n- [`sf data resume`](#sf-data-resume)\n- [`sf data search`](#sf-data-search)\n- [`sf data update bulk`](#sf-data-update-bulk)\n- [`sf data update record`](#sf-data-update-record)\n- [`sf data update resume`](#sf-data-update-resume)\n- [`sf data upsert bulk`](#sf-data-upsert-bulk)\n- [`sf data upsert resume`](#sf-data-upsert-resume)\n- [`sf force data bulk delete`](#sf-force-data-bulk-delete)\n- [`sf force data bulk status`](#sf-force-data-bulk-status)\n- [`sf force data bulk upsert`](#sf-force-data-bulk-upsert)\n\n## `sf data bulk results`\n\nGet the results of a bulk ingest job that you previously ran.\n\n```\nUSAGE\n  $ sf data bulk results -i \u003cvalue\u003e -o \u003cvalue\u003e [--json] [--flags-dir \u003cvalue\u003e] [--api-version \u003cvalue\u003e]\n\nFLAGS\n  -i, --job-id=\u003cvalue\u003e       (required) Job ID of the bulk job.\n  -o, --target-org=\u003cvalue\u003e   (required) Username or alias of the target org. Not required if the `target-org`\n                             configuration variable is already set.\n      --api-version=\u003cvalue\u003e  Override the api version used for api requests made by this command\n\nGLOBAL FLAGS\n  --flags-dir=\u003cvalue\u003e  Import flag values from a directory.\n  --json               Format output as json.\n\nDESCRIPTION\n  Get the results of a bulk ingest job that you previously ran.\n\n  Use this command to get the complete results after running one of the CLI commands that uses Bulk API 2.0 to ingest\n  (import, update, upsert, or delete) large datasets to your org, such as \"data import bulk\". The previously-run bulk\n  command must have completed; if it's still processing, run the corresponding resume command first, such as \"data\n  import resume.\" Make note of the job ID of the previous bulk command because you use it to run this command.\n\n  You can also use this command to get results from running a bulk ingest job with a different tool, such as Data\n  Loader, as long as you have the job ID. For information on Data Loader, see\n  https://developer.salesforce.com/docs/atlas.en-us.dataLoader.meta/dataLoader/data_loader_intro.htm.\n\n  This command first displays the status of the previous bulk job, the operation that was executed in the org (such as\n  insert or hard delete), and the updated Salesforce object. The command then displays how many records were processed\n  in total, and how many were successful or failed. Finally, the output displays the names of the generated\n  CSV-formatted files that contain the specific results for each ingested record. Depending on the success or failure of\n  the bulk command, the results files can include the IDs of inserted records or the specific errors. When possible, if\n  the ingest job failed or was aborted, you also get a CSV file with the unprocessed results.\n\nEXAMPLES\n  Get results from a bulk ingest job; use the org with alias \"my-scratch\":\n\n    $ sf data bulk results --job-id 7507i000fake341G --target-org my-scratch\n```\n\n_See code: [src/commands/data/bulk/results.ts](https://github.com/salesforcecli/plugin-data/blob/4.0.93/src/commands/data/bulk/results.ts)_\n\n## `sf data create file`\n\nUpload a local file to an org.\n\n```\nUSAGE\n  $ sf data create file -o \u003cvalue\u003e -f \u003cvalue\u003e [--json] [--flags-dir \u003cvalue\u003e] [--api-version \u003cvalue\u003e] [-t \u003cvalue\u003e] [-i\n    \u003cvalue\u003e]\n\nFLAGS\n  -f, --file=\u003cvalue\u003e         (required) Path of file to upload.\n  -i, --parent-id=\u003cvalue\u003e    ID of the record to attach the file to.\n  -o, --target-org=\u003cvalue\u003e   (required) Username or alias of the target org. Not required if the `target-org`\n                             configuration variable is already set.\n  -t, --title=\u003cvalue\u003e        New title given to the file (ContentDocument) after it's uploaded.\n      --api-version=\u003cvalue\u003e  Override the api version used for api requests made by this command\n\nGLOBAL FLAGS\n  --flags-dir=\u003cvalue\u003e  Import flag values from a directory.\n  --json               Format output as json.\n\nDESCRIPTION\n  Upload a local file to an org.\n\n  This command always creates a new file in the org; you can't update an existing file. After a successful upload, the\n  command displays the ID of the new ContentDocument record which represents the uploaded file.\n\n  By default, the uploaded file isn't attached to a record; in the Salesforce UI the file shows up in the Files tab. You\n  can optionally attach the file to an existing record, such as an account, as long as you know its record ID.\n\n  You can also give the file a new name after it's been uploaded; by default its name in the org is the same as the\n  local file name.\n\nEXAMPLES\n  Upload the local file \"resources/astro.png\" to your default org:\n\n    $ sf data create file --file resources/astro.png\n\n  Give the file a different filename after it's uploaded to the org with alias \"my-scratch\":\n\n    $ sf data create file --file resources/astro.png --title AstroOnABoat.png --target-org my-scratch\n\n  Attach the file to a record in the org:\n\n    $ sf data create file --file path/to/astro.png --parent-id a03fakeLoJWPIA3\n```\n\n_See code: [src/commands/data/create/file.ts](https://github.com/salesforcecli/plugin-data/blob/4.0.93/src/commands/data/create/file.ts)_\n\n## `sf data create record`\n\nCreate and insert a record into a Salesforce or Tooling API object.\n\n```\nUSAGE\n  $ sf data create record -o \u003cvalue\u003e -s \u003cvalue\u003e -v \u003cvalue\u003e [--json] [--flags-dir \u003cvalue\u003e] [--api-version \u003cvalue\u003e] [-t]\n\nFLAGS\n  -o, --target-org=\u003cvalue\u003e   (required) Username or alias of the target org. Not required if the `target-org`\n                             configuration variable is already set.\n  -s, --sobject=\u003cvalue\u003e      (required) API name of the Salesforce or Tooling API object that you're inserting a record\n                             into.\n  -t, --use-tooling-api      Use Tooling API so you can insert a record in a Tooling API object.\n  -v, --values=\u003cvalue\u003e       (required) Values for the flags in the form \u003cfieldName\u003e=\u003cvalue\u003e, separate multiple pairs\n                             with spaces.\n      --api-version=\u003cvalue\u003e  Override the api version used for api requests made by this command\n\nGLOBAL FLAGS\n  --flags-dir=\u003cvalue\u003e  Import flag values from a directory.\n  --json               Format output as json.\n\nDESCRIPTION\n  Create and insert a record into a Salesforce or Tooling API object.\n\n  You must specify a value for all required fields of the object.\n\n  When specifying fields, use the format \u003cfieldName\u003e=\u003cvalue\u003e. Enclose all field-value pairs in one set of double\n  quotation marks, delimited by spaces. Enclose values that contain spaces in single quotes.\n\n  This command inserts a record into Salesforce objects by default. Use the --use-tooling-api flag to insert into a\n  Tooling API object.\n\nALIASES\n  $ sf force data record create\n\nEXAMPLES\n  Insert a record into the Account object of your default org; only the required Name field has a value:\n\n    $ sf data create record --sobject Account --values \"Name=Acme\"\n\n  Insert an Account record with values for two fields, one value contains a space; the command uses the org with alias\n  \"my-scratch\":\n\n    $ sf data create record --sobject Account --values \"Name='Universal Containers' Website=www.example.com\" \\\n      --target-org my-scratch\n\n  Insert a record into the Tooling API object TraceFlag:\n\n    $ sf data create record --use-tooling-api --sobject TraceFlag --values \"DebugLevelId=7dl170000008U36AAE \\\n      StartDate=2022-12-15T00:26:04.000+0000 ExpirationDate=2022-12-15T00:56:04.000+0000 LogType=CLASS_TRACING \\\n      TracedEntityId=01p17000000R6bLAAS\"\n```\n\n_See code: [src/commands/data/create/record.ts](https://github.com/salesforcecli/plugin-data/blob/4.0.93/src/commands/data/create/record.ts)_\n\n## `sf data delete bulk`\n\nBulk delete records from an org using a CSV file. Uses Bulk API 2.0.\n\n```\nUSAGE\n  $ sf data delete bulk -o \u003cvalue\u003e -s \u003cvalue\u003e [--json] [--flags-dir \u003cvalue\u003e] [--api-version \u003cvalue\u003e] [-w \u003cvalue\u003e]\n    (--line-ending CRLF|LF -f \u003cvalue\u003e) [--hard-delete]\n\nFLAGS\n  -f, --file=\u003cvalue\u003e          (required) CSV file that contains the IDs of the records to update or delete.\n  -o, --target-org=\u003cvalue\u003e    (required) Username or alias of the target org. Not required if the `target-org`\n                              configuration variable is already set.\n  -s, --sobject=\u003cvalue\u003e       (required) API name of the Salesforce object, either standard or custom, that you want to\n                              update or delete records from.\n  -w, --wait=\u003cvalue\u003e          [default: 0 minutes] Number of minutes to wait for the command to complete before\n                              displaying the results.\n      --api-version=\u003cvalue\u003e   Override the api version used for api requests made by this command\n      --hard-delete           Mark the records as immediately eligible for deletion by your org. If you don't specify\n                              this flag, the deleted records go into the Recycle Bin.\n      --line-ending=\u003coption\u003e  Line ending used in the CSV file. Default value on Windows is `CRLF`; on macOS and Linux\n                              it's `LF`.\n                              \u003coptions: CRLF|LF\u003e\n\nGLOBAL FLAGS\n  --flags-dir=\u003cvalue\u003e  Import flag values from a directory.\n  --json               Format output as json.\n\nDESCRIPTION\n  Bulk delete records from an org using a CSV file. Uses Bulk API 2.0.\n\n  The CSV file must have only one column (\"Id\") and then the list of record IDs you want to delete, one ID per line.\n\n  When you execute this command, it starts a job, displays the ID, and then immediately returns control of the terminal\n  to you by default. If you prefer to wait, set the --wait flag to the number of minutes; if it times out, the command\n  outputs the IDs. Use the job ID to check the status of the job with the \"sf data delete resume\" command.\n\nEXAMPLES\n  Bulk delete Account records from your default org using the list of IDs in the \"files/delete.csv\" file:\n\n    $ sf data delete bulk --sobject Account --file files/delete.csv\n\n  Bulk delete records from a custom object in an org with alias my-scratch and wait 5 minutes for the command to\n  complete:\n\n    $ sf data delete bulk --sobject MyObject__c --file files/delete.csv --wait 5 --target-org my-scratch\n\nFLAG DESCRIPTIONS\n  --hard-delete\n\n    Mark the records as immediately eligible for deletion by your org. If you don't specify this flag, the deleted\n    records go into the Recycle Bin.\n\n    You must have the \"Bulk API Hard Delete\" system permission to use this flag. The permission is disabled by default\n    and can be enabled only by a system administrator.\n```\n\n_See code: [src/commands/data/delete/bulk.ts](https://github.com/salesforcecli/plugin-data/blob/4.0.93/src/commands/data/delete/bulk.ts)_\n\n## `sf data delete record`\n\nDeletes a single record from a Salesforce or Tooling API object.\n\n```\nUSAGE\n  $ sf data delete record -o \u003cvalue\u003e -s \u003cvalue\u003e [--json] [--flags-dir \u003cvalue\u003e] [--api-version \u003cvalue\u003e] [-i \u003cvalue\u003e] [-w\n    \u003cvalue\u003e] [-t]\n\nFLAGS\n  -i, --record-id=\u003cvalue\u003e    ID of the record you’re deleting.\n  -o, --target-org=\u003cvalue\u003e   (required) Username or alias of the target org. Not required if the `target-org`\n                             configuration variable is already set.\n  -s, --sobject=\u003cvalue\u003e      (required) API name of the Salesforce or Tooling API object that you're deleting a record\n                             from.\n  -t, --use-tooling-api      Use Tooling API so you can delete a record from a Tooling API object.\n  -w, --where=\u003cvalue\u003e        List of \u003cfieldName\u003e=\u003cvalue\u003e pairs that identify the record you want to delete.\n      --api-version=\u003cvalue\u003e  Override the api version used for api requests made by this command\n\nGLOBAL FLAGS\n  --flags-dir=\u003cvalue\u003e  Import flag values from a directory.\n  --json               Format output as json.\n\nDESCRIPTION\n  Deletes a single record from a Salesforce or Tooling API object.\n\n  Specify the record you want to delete with either its ID or with a list of field-value pairs that identify the record.\n  If your list of fields identifies more than one record, the delete fails; the error displays how many records were\n  found.\n\n  When specifying field-value pairs, use the format \u003cfieldName\u003e=\u003cvalue\u003e. Enclose all field-value pairs in one set of\n  double quotation marks, delimited by spaces. Enclose values that contain spaces in single quotes.\n\n  This command deletes a record from Salesforce objects by default. Use the --use-tooling-api flag to delete from a\n  Tooling API object.\n\nALIASES\n  $ sf force data record delete\n\nEXAMPLES\n  Delete a record from Account with the specified (truncated) ID:\n\n    $ sf data delete record --sobject Account --record-id 00180XX\n\n  Delete a record from Account whose name equals \"Acme\":\n\n    $ sf data delete record --sobject Account --where \"Name=Acme\"\n\n  Delete a record from Account identified with two field values, one that contains a space; the command uses the org\n  with alias \"my-scratch\":\n\n    $ sf data delete record --sobject Account --where \"Name='Universal Containers' Phone='(123) 456-7890'\" \\\n      --target-org myscratch\n\n  Delete a record from the Tooling API object TraceFlag with the specified (truncated) ID:\n\n    $ sf data delete record --use-tooling-api --sobject TraceFlag --record-id 7tf8c\n```\n\n_See code: [src/commands/data/delete/record.ts](https://github.com/salesforcecli/plugin-data/blob/4.0.93/src/commands/data/delete/record.ts)_\n\n## `sf data delete resume`\n\nResume a bulk delete job that you previously started. Uses Bulk API 2.0.\n\n```\nUSAGE\n  $ sf data delete resume [--json] [--flags-dir \u003cvalue\u003e] [-o \u003cvalue\u003e] [--use-most-recent | -i \u003cvalue\u003e] [--wait \u003cvalue\u003e]\n    [--api-version \u003cvalue\u003e]\n\nFLAGS\n  -i, --job-id=\u003cvalue\u003e       ID of the job you want to resume.\n  -o, --target-org=\u003cvalue\u003e   Username or alias of the target org. Not required if the \"target-org\" configuration\n                             variable is already set.\n      --api-version=\u003cvalue\u003e  Override the api version used for api requests made by this command\n      --use-most-recent      Use the ID of the most recently-run bulk job.\n      --wait=\u003cvalue\u003e         [default: 5 minutes] Number of minutes to wait for the command to complete before\n                             displaying the results.\n\nGLOBAL FLAGS\n  --flags-dir=\u003cvalue\u003e  Import flag values from a directory.\n  --json               Format output as json.\n\nDESCRIPTION\n  Resume a bulk delete job that you previously started. Uses Bulk API 2.0.\n\n  The command uses the job ID returned by the \"sf data delete bulk\" command or the most recently-run bulk delete job.\n\nEXAMPLES\n  Resume a bulk delete job from your default org using an ID:\n\n    $ sf data delete resume --job-id 750xx000000005sAAA\n\n  Resume the most recently run bulk delete job for an org with alias my-scratch:\n\n    $ sf data delete resume --use-most-recent --target-org my-scratch\n```\n\n_See code: [src/commands/data/delete/resume.ts](https://github.com/salesforcecli/plugin-data/blob/4.0.93/src/commands/data/delete/resume.ts)_\n\n## `sf data export bulk`\n\nBulk export records from an org into a file using a SOQL query. Uses Bulk API 2.0.\n\n```\nUSAGE\n  $ sf data export bulk -o \u003cvalue\u003e --output-file \u003cvalue\u003e -r csv|json [--json] [--flags-dir \u003cvalue\u003e] [--api-version\n    \u003cvalue\u003e] [-w \u003cminutes\u003e] [-q \u003cvalue\u003e | --query-file \u003cvalue\u003e] [--all-rows] [--column-delimiter\n    BACKQUOTE|CARET|COMMA|PIPE|SEMICOLON|TAB] [--line-ending LF|CRLF]\n\nFLAGS\n  -o, --target-org=\u003cvalue\u003e         (required) Username or alias of the target org. Not required if the `target-org`\n                                   configuration variable is already set.\n  -q, --query=\u003cvalue\u003e              SOQL query to execute.\n  -r, --result-format=\u003coption\u003e     (required) [default: csv] Format to write the results.\n                                   \u003coptions: csv|json\u003e\n  -w, --wait=\u003cminutes\u003e             Time to wait for the command to finish, in minutes.\n      --all-rows                   Include records that have been soft-deleted due to a merge or delete. By default,\n                                   deleted records are not returned.\n      --api-version=\u003cvalue\u003e        Override the api version used for api requests made by this command\n      --column-delimiter=\u003coption\u003e  Column delimiter to be used when writing CSV output. Default is COMMA.\n                                   \u003coptions: BACKQUOTE|CARET|COMMA|PIPE|SEMICOLON|TAB\u003e\n      --line-ending=\u003coption\u003e       Line ending to be used when writing CSV output. Default value on Windows is is\n                                   `CRLF`; on macOS and Linux it's `LR`.\n                                   \u003coptions: LF|CRLF\u003e\n      --output-file=\u003cvalue\u003e        (required) File where records are written.\n      --query-file=\u003cvalue\u003e         File that contains the SOQL query.\n\nGLOBAL FLAGS\n  --flags-dir=\u003cvalue\u003e  Import flag values from a directory.\n  --json               Format output as json.\n\nDESCRIPTION\n  Bulk export records from an org into a file using a SOQL query. Uses Bulk API 2.0.\n\n  You can use this command to export millions of records from an org, either to migrate data or to back it up.\n\n  Use a SOQL query to specify the fields of a standard or custom object that you want to export. Specify the SOQL query\n  either at the command line with the --query flag or read it from a file with the --query-file flag; you can't specify\n  both flags. The --output-file flag is required, which means you can only write the records to a file, in either CSV or\n  JSON format.\n\n  Bulk exports can take a while, depending on how many records are returned by the SOQL query. If the command times out,\n  the command displays the job ID. To see the status and get the results of the job, run \"sf data export resume\" and\n  pass the job ID to the --job-id flag.\n\n  IMPORTANT: This command uses Bulk API 2.0, which limits the type of SOQL queries you can run. For example, you can't\n  use aggregate functions such as count(). For the complete list of limitations, see the \"SOQL Considerations\" section\n  in the \"Bulk API 2.0 and Bulk API Developer Guide\"\n  (https://developer.salesforce.com/docs/atlas.en-us.api_asynch.meta/api_asynch/queries.htm).\n\nEXAMPLES\n  Export the Id, Name, and Account.Name fields of the Contact object into a CSV-formatted file; if the export doesn't\n  complete in 10 minutes, the command ends and displays a job ID. Use the org with alias \"my-scratch\":\n\n    $ sf data export bulk --query \"SELECT Id, Name, Account.Name FROM Contact\" --output-file export-accounts.csv \\\n      --wait 10 --target-org my-scratch\n\n  Similar to previous example, but use the default org, export the records into a JSON-formatted file, and include\n  records that have been soft deleted:\n\n    $ sf data export bulk --query \"SELECT Id, Name, Account.Name FROM Contact\" --output-file export-accounts.json \\\n      --result-format json --wait 10 --all-rows\n```\n\n_See code: [src/commands/data/export/bulk.ts](https://github.com/salesforcecli/plugin-data/blob/4.0.93/src/commands/data/export/bulk.ts)_\n\n## `sf data export resume`\n\nResume a bulk export job that you previously started. Uses Bulk API 2.0.\n\n```\nUSAGE\n  $ sf data export resume [--json] [--flags-dir \u003cvalue\u003e] [-i \u003cvalue\u003e] [--use-most-recent] [--api-version \u003cvalue\u003e]\n\nFLAGS\n  -i, --job-id=\u003cvalue\u003e       Job ID of the bulk export.\n      --api-version=\u003cvalue\u003e  Override the api version used for api requests made by this command\n      --use-most-recent      Use the job ID of the bulk export job that was most recently run.\n\nGLOBAL FLAGS\n  --flags-dir=\u003cvalue\u003e  Import flag values from a directory.\n  --json               Format output as json.\n\nDESCRIPTION\n  Resume a bulk export job that you previously started. Uses Bulk API 2.0.\n\n  When the original \"data export bulk\" command times out, it displays a job ID. To see the status and get the results of\n  the bulk export, run this command by either passing it the job ID or using the --use-most-recent flag to specify the\n  most recent bulk export job.\n\n  Using either `--job-id` or `--use-most-recent` will properly resolve to the correct org where the bulk job was started\n  based on the cached data by \"data export bulk\".\n\nEXAMPLES\n  Resume a bulk export job run by specifying a job ID:\n\n    $ sf data export resume --job-id 750xx000000005sAAA\n\n  Resume the most recently-run bulk export job:\n\n    $ sf data export resume --use-most-recent\n```\n\n_See code: [src/commands/data/export/resume.ts](https://github.com/salesforcecli/plugin-data/blob/4.0.93/src/commands/data/export/resume.ts)_\n\n## `sf data export tree`\n\nExport data from an org into one or more JSON files.\n\n```\nUSAGE\n  $ sf data export tree -o \u003cvalue\u003e -q \u003cvalue\u003e... [--json] [--flags-dir \u003cvalue\u003e] [--api-version \u003cvalue\u003e] [-p] [-x\n    \u003cvalue\u003e] [-d \u003cvalue\u003e]\n\nFLAGS\n  -d, --output-dir=\u003cvalue\u003e   Directory in which to generate the JSON files; default is current directory.\n  -o, --target-org=\u003cvalue\u003e   (required) Username or alias of the target org. Not required if the `target-org`\n                             configuration variable is already set.\n  -p, --plan                 Generate multiple sObject tree files and a plan definition file for aggregated import.\n  -q, --query=\u003cvalue\u003e...     (required) SOQL query, or filepath of a file that contains the query, to retrieve records.\n  -x, --prefix=\u003cvalue\u003e       Prefix of generated files.\n      --api-version=\u003cvalue\u003e  Override the api version used for api requests made by this command\n\nGLOBAL FLAGS\n  --flags-dir=\u003cvalue\u003e  Import flag values from a directory.\n  --json               Format output as json.\n\nDESCRIPTION\n  Export data from an org into one or more JSON files.\n\n  Specify a SOQL query, either directly at the command line or read from a file, to retrieve the data you want to\n  export. The exported data is written to JSON files in sObject tree format, which is a collection of nested,\n  parent-child records with a single root record. Use these JSON files to import data into an org with the \"sf data\n  import tree\" command.\n\n  If your SOQL query references multiple objects, the command generates a single JSON file by default. You can specify\n  the --plan flag to generate separate JSON files for each object and a plan definition file that aggregates them. You\n  then specify just this plan definition file when you import the data into an org.\n\n  The SOQL query can return a maximum of 2,000 records. For more information, see the REST API Developer Guide.\n  (https://developer.salesforce.com/docs/atlas.en-us.api_rest.meta/api_rest/resources_composite_sobject_tree.htm).\n\nALIASES\n  $ sf force data tree export\n\nEXAMPLES\n  Export records retrieved with the specified SOQL query into a single JSON file in the current directory; the command\n  uses your default org:\n\n    $ sf data export tree --query \"SELECT Id, Name, (SELECT Name, Address__c FROM Properties__r) FROM Broker__c\"\n\n  Export data using a SOQL query in the \"query.txt\" file and generate JSON files for each object and a plan that\n  aggregates them:\n\n    $ sf data export tree --query query.txt --plan\n\n  Prepend \"export-demo\" before each generated file and generate the files in the \"export-out\" directory; run the\n  command on the org with alias \"my-scratch\":\n\n    $ sf data export tree --query query.txt --plan --prefix export-demo --output-dir export-out --target-org \\\n      my-scratch\n```\n\n_See code: [src/commands/data/export/tree.ts](https://github.com/salesforcecli/plugin-data/blob/4.0.93/src/commands/data/export/tree.ts)_\n\n## `sf data get record`\n\nRetrieve and display a single record of a Salesforce or Tooling API object.\n\n```\nUSAGE\n  $ sf data get record -o \u003cvalue\u003e -s \u003cvalue\u003e [--json] [--flags-dir \u003cvalue\u003e] [--api-version \u003cvalue\u003e] [-i \u003cvalue\u003e] [-w\n    \u003cvalue\u003e] [-t]\n\nFLAGS\n  -i, --record-id=\u003cvalue\u003e    ID of the record you’re retrieving.\n  -o, --target-org=\u003cvalue\u003e   (required) Username or alias of the target org. Not required if the `target-org`\n                             configuration variable is already set.\n  -s, --sobject=\u003cvalue\u003e      (required) API name of the Salesforce or Tooling API object that you're retrieving a record\n                             from.\n  -t, --use-tooling-api      Use Tooling API so you can retrieve a record from a Tooling API object.\n  -w, --where=\u003cvalue\u003e        List of \u003cfieldName\u003e=\u003cvalue\u003e pairs that identify the record you want to display.\n      --api-version=\u003cvalue\u003e  Override the api version used for api requests made by this command\n\nGLOBAL FLAGS\n  --flags-dir=\u003cvalue\u003e  Import flag values from a directory.\n  --json               Format output as json.\n\nDESCRIPTION\n  Retrieve and display a single record of a Salesforce or Tooling API object.\n\n  Specify the record you want to retrieve with either its ID or with a list of field-value pairs that identify the\n  record. If your list of fields identifies more than one record, the command fails; the error displays how many records\n  were found.\n\n  When specifying field-value pairs, use the format \u003cfieldName\u003e=\u003cvalue\u003e. Enclose all field-value pairs in one set of\n  double quotation marks, delimited by spaces. Enclose values that contain spaces in single quotes.\n\n  The command displays all the record's fields and their values, one field per terminal line. Fields with no values are\n  displayed as \"null\".\n\n  This command retrieves a record from Salesforce objects by default. Use the --use-tooling-api flag to retrieve from a\n  Tooling API object.\n\nALIASES\n  $ sf force data record get\n\nEXAMPLES\n  Retrieve and display a record from Account with the specified (truncated) ID:\n\n    $ sf data get record --sobject Account --record-id 00180XX\n\n  Retrieve a record from Account whose name equals \"Acme\":\n\n    $ sf data get record --sobject Account --where \"Name=Acme\"\n\n  Retrieve a record from Account identified with two field values, one that contains a space; the command uses the org\n  with alias \"my-scratch\":\n\n    $ sf data get record --sobject Account --where \"Name='Universal Containers' Phone='(123) 456-7890'\" --target-org \\\n      myscratch\n\n  Retrieve a record from the Tooling API object TraceFlag with the specified (truncated) ID:\n\n    $ sf data get record --use-tooling-api --sobject TraceFlag --record-id 7tf8c\n```\n\n_See code: [src/commands/data/get/record.ts](https://github.com/salesforcecli/plugin-data/blob/4.0.93/src/commands/data/get/record.ts)_\n\n## `sf data import bulk`\n\nBulk import records into a Salesforce object from a CSV file. Uses Bulk API 2.0.\n\n```\nUSAGE\n  $ sf data import bulk -s \u003cvalue\u003e -o \u003cvalue\u003e [--json] [--flags-dir \u003cvalue\u003e] [--api-version \u003cvalue\u003e] [-w \u003cvalue\u003e]\n    (--line-ending CRLF|LF -f \u003cvalue\u003e) [--column-delimiter BACKQUOTE|CARET|COMMA|PIPE|SEMICOLON|TAB]\n\nFLAGS\n  -f, --file=\u003cvalue\u003e               (required) CSV file that contains the Salesforce object records you want to import.\n  -o, --target-org=\u003cvalue\u003e         (required) Username or alias of the target org. Not required if the `target-org`\n                                   configuration variable is already set.\n  -s, --sobject=\u003cvalue\u003e            (required) API name of the Salesforce object, either standard or custom, into which\n                                   you're importing records.\n  -w, --wait=\u003cvalue\u003e               Time to wait for the command to finish, in minutes.\n      --api-version=\u003cvalue\u003e        Override the api version used for api requests made by this command\n      --column-delimiter=\u003coption\u003e  Column delimiter used in the CSV file.\n                                   \u003coptions: BACKQUOTE|CARET|COMMA|PIPE|SEMICOLON|TAB\u003e\n      --line-ending=\u003coption\u003e       Line ending used in the CSV file. Default value on Windows is `CRLF`; on macOS and\n                                   Linux it's `LF`.\n                                   \u003coptions: CRLF|LF\u003e\n\nGLOBAL FLAGS\n  --flags-dir=\u003cvalue\u003e  Import flag values from a directory.\n  --json               Format output as json.\n\nDESCRIPTION\n  Bulk import records into a Salesforce object from a CSV file. Uses Bulk API 2.0.\n\n  You can use this command to import millions of records into the object from a file in comma-separated values (CSV)\n  format.\n\n  All the records in the CSV file must be for the same Salesforce object. Specify the object with the `--sobject` flag.\n\n  Bulk imports can take a while, depending on how many records are in the CSV file. If the command times out, the\n  command displays the job ID. To see the status and get the results of the job, run \"sf data import resume\" and pass\n  the job ID to the --job-id flag.\n\n  For information and examples about how to prepare your CSV files, see \"Prepare Data to Ingest\" in the \"Bulk API 2.0\n  and Bulk API Developer Guide\"\n  (https://developer.salesforce.com/docs/atlas.en-us.api_asynch.meta/api_asynch/datafiles_prepare_data.htm).\n\nEXAMPLES\n  Import Account records from a CSV-formatted file into an org with alias \"my-scratch\"; if the import doesn't complete\n  in 10 minutes, the command ends and displays a job ID:\n\n    $ sf data import bulk --file accounts.csv --sobject Account --wait 10 --target-org my-scratch\n```\n\n_See code: [src/commands/data/import/bulk.ts](https://github.com/salesforcecli/plugin-data/blob/4.0.93/src/commands/data/import/bulk.ts)_\n\n## `sf data import resume`\n\nResume a bulk import job that you previously started. Uses Bulk API 2.0.\n\n```\nUSAGE\n  $ sf data import resume [--json] [--flags-dir \u003cvalue\u003e] [--use-most-recent] [-i \u003cvalue\u003e] [-w \u003cvalue\u003e]\n\nFLAGS\n  -i, --job-id=\u003cvalue\u003e   Job ID of the bulk import.\n  -w, --wait=\u003cvalue\u003e     [default: 5 minutes] Time to wait for the command to finish, in minutes.\n      --use-most-recent  Use the job ID of the bulk import job that was most recently run.\n\nGLOBAL FLAGS\n  --flags-dir=\u003cvalue\u003e  Import flag values from a directory.\n  --json               Format output as json.\n\nDESCRIPTION\n  Resume a bulk import job that you previously started. Uses Bulk API 2.0.\n\n  When the original \"sf data import bulk\" command times out, it displays a job ID. To see the status and get the results\n  of the bulk import, run this command by either passing it the job ID or using the --use-most-recent flag to specify\n  the most recent bulk import job.\n\nEXAMPLES\n  Resume a bulk import job to your default org using an ID:\n\n    $ sf data import resume --job-id 750xx000000005sAAA\n\n  Resume the most recently run bulk import job for an org with alias my-scratch:\n\n    $ sf data import resume --use-most-recent --target-org my-scratch\n```\n\n_See code: [src/commands/data/import/resume.ts](https://github.com/salesforcecli/plugin-data/blob/4.0.93/src/commands/data/import/resume.ts)_\n\n## `sf data import tree`\n\nImport data from one or more JSON files into an org.\n\n```\nUSAGE\n  $ sf data import tree -o \u003cvalue\u003e [--json] [--flags-dir \u003cvalue\u003e] [--api-version \u003cvalue\u003e] [-f \u003cvalue\u003e...] [-p \u003cvalue\u003e]\n\nFLAGS\n  -f, --files=\u003cvalue\u003e...     Comma-separated and in-order JSON files that contain the records, in sObject tree format,\n                             that you want to insert.\n  -o, --target-org=\u003cvalue\u003e   (required) Username or alias of the target org. Not required if the `target-org`\n                             configuration variable is already set.\n  -p, --plan=\u003cvalue\u003e         Plan definition file to insert multiple data files.\n      --api-version=\u003cvalue\u003e  Override the api version used for api requests made by this command\n\nGLOBAL FLAGS\n  --flags-dir=\u003cvalue\u003e  Import flag values from a directory.\n  --json               Format output as json.\n\nDESCRIPTION\n  Import data from one or more JSON files into an org.\n\n  The JSON files that contain the data are in sObject tree format, which is a collection of nested, parent-child records\n  with a single root record. Use the \"sf data export tree\" command to generate these JSON files.\n\n  If you used the --plan flag when exporting the data to generate a plan definition file, use the --plan flag to\n  reference the file when you import. If you're not using a plan, use the --files flag to list the files. If you specify\n  multiple JSON files that depend on each other in a parent-child relationship, be sure you list them in the correct\n  order.\n\nALIASES\n  $ sf force data tree import\n\nEXAMPLES\n  Import the records contained in two JSON files into the org with alias \"my-scratch\":\n\n    $ sf data import tree --files Contact.json,Account.json --target-org my-scratch\n\n  Import records using a plan definition file into your default org:\n\n    $ sf data import tree --plan Account-Contact-plan.json\n\nFLAG DESCRIPTIONS\n  -p, --plan=\u003cvalue\u003e  Plan definition file to insert multiple data files.\n\n    Unlike when you use the `--files` flag, the files listed in the plan definition file **can** contain more then 200\n    records. When the CLI executes the import, it automatically batches the records to comply with the 200 record limit\n    set by the API.\n\n    The order in which you list the files in the plan definition file matters. Specifically, records with lookups to\n    records in another file should be listed AFTER that file. For example, let's say you're loading Account and Contact\n    records, and the contacts have references to those accounts. Be sure you list the Accounts file before the Contacts\n    file.\n\n    The plan definition file has the following schema:\n\n    - items(object) - SObject Type: Definition of records to be insert per SObject Type\n    - sobject(string) - Name of SObject: Child file references must have SObject roots of this type\n    - files(array) - Files: An array of files paths to load\n```\n\n_See code: [src/commands/data/import/tree.ts](https://github.com/salesforcecli/plugin-data/blob/4.0.93/src/commands/data/import/tree.ts)_\n\n## `sf data query`\n\nExecute a SOQL query.\n\n```\nUSAGE\n  $ sf data query -o \u003cvalue\u003e [--json] [--flags-dir \u003cvalue\u003e] [--api-version \u003cvalue\u003e] [-q \u003cvalue\u003e] [-f \u003cvalue\u003e]\n    [-t] [--all-rows] [-r human|csv|json] [--output-file \u003cvalue\u003e]\n\nFLAGS\n  -f, --file=\u003cvalue\u003e            File that contains the SOQL query.\n  -o, --target-org=\u003cvalue\u003e      (required) Username or alias of the target org. Not required if the `target-org`\n                                configuration variable is already set.\n  -q, --query=\u003cvalue\u003e           SOQL query to execute.\n  -r, --result-format=\u003coption\u003e  [default: human] Format to display the results; the --json flag overrides this flag.\n                                \u003coptions: human|csv|json\u003e\n  -t, --use-tooling-api         Use Tooling API so you can run queries on Tooling API objects.\n      --all-rows                Include deleted records. By default, deleted records are not returned.\n      --api-version=\u003cvalue\u003e     Override the api version used for api requests made by this command\n      --output-file=\u003cvalue\u003e     File where records are written; only CSV and JSON output formats are supported.\n\nGLOBAL FLAGS\n  --flags-dir=\u003cvalue\u003e  Import flag values from a directory.\n  --json               Format output as json.\n\nDESCRIPTION\n  Execute a SOQL query.\n\n  Specify the SOQL query at the command line with the --query flag or read the query from a file with the --file flag.\n\n  If your query returns more than 10,000 records, prefer to use the `sf data export bulk` command instead. It runs the\n  query using Bulk API 2.0, which has higher limits than the default API used by the command.\n\nALIASES\n  $ sf force data soql query\n\nEXAMPLES\n  Specify a SOQL query at the command line; the command uses your default org:\n\n    $ sf data query --query \"SELECT Id, Name, Account.Name FROM Contact\"\n\n  Read the SOQL query from a file called \"query.txt\" and write the CSV-formatted output to a file; the command uses\n  the org with alias \"my-scratch\":\n\n    $ sf data query --file query.txt --output-file output.csv --result-format csv --target-org my-scratch\n\n  Use Tooling API to run a query on the ApexTrigger Tooling API object:\n\n    $ sf data query --query \"SELECT Name FROM ApexTrigger\" --use-tooling-api\n```\n\n_See code: [src/commands/data/query.ts](https://github.com/salesforcecli/plugin-data/blob/4.0.93/src/commands/data/query.ts)_\n\n## `sf data resume`\n\nView the status of a bulk data load job or batch.\n\n```\nUSAGE\n  $ sf data resume -o \u003cvalue\u003e -i \u003cvalue\u003e [--json] [--flags-dir \u003cvalue\u003e] [--api-version \u003cvalue\u003e] [-b \u003cvalue\u003e]\n\nFLAGS\n  -b, --batch-id=\u003cvalue\u003e     ID of the batch whose status you want to view; you must also specify the job ID.\n  -i, --job-id=\u003cvalue\u003e       (required) ID of the job whose status you want to view.\n  -o, --target-org=\u003cvalue\u003e   (required) Username or alias of the target org. Not required if the `target-org`\n                             configuration variable is already set.\n      --api-version=\u003cvalue\u003e  Override the api version used for api requests made by this command\n\nGLOBAL FLAGS\n  --flags-dir=\u003cvalue\u003e  Import flag values from a directory.\n  --json               Format output as json.\n\nDESCRIPTION\n  View the status of a bulk data load job or batch.\n\n  Run this command using the job ID or batch ID returned from the \"sf data delete bulk\" or \"sf data upsert bulk\"\n  commands.\n\nEXAMPLES\n  View the status of a bulk load job:\n\n    $ sf data resume --job-id 750xx000000005sAAA\n\n  View the status of a bulk load job and a specific batches:\n\n    $ sf data resume --job-id 750xx000000005sAAA --batch-id 751xx000000005nAAA\n```\n\n_See code: [src/commands/data/resume.ts](https://github.com/salesforcecli/plugin-data/blob/4.0.93/src/commands/data/resume.ts)_\n\n## `sf data search`\n\nExecute a SOSL text-based search query.\n\n```\nUSAGE\n  $ sf data search -o \u003cvalue\u003e [--flags-dir \u003cvalue\u003e] [--api-version \u003cvalue\u003e] [-q \u003cvalue\u003e] [-f \u003cvalue\u003e] [-r\n    human|csv|json | --json]\n\nFLAGS\n  -f, --file=\u003cvalue\u003e            File that contains the SOSL query.\n  -o, --target-org=\u003cvalue\u003e      (required) Username or alias of the target org. Not required if the `target-org`\n                                configuration variable is already set.\n  -q, --query=\u003cvalue\u003e           SOSL query to execute.\n  -r, --result-format=\u003coption\u003e  [default: human] Format to display the results, or to write to disk if you specify\n                                \"csv\".\n                                \u003coptions: human|csv|json\u003e\n      --api-version=\u003cvalue\u003e     Override the api version used for api requests made by this command\n\nGLOBAL FLAGS\n  --flags-dir=\u003cvalue\u003e  Import flag values from a directory.\n  --json               Format output as json.\n\nDESCRIPTION\n  Execute a SOSL text-based search query.\n\n  Specify the SOSL query at the command line with the --query flag or read the query from a file with the --file flag.\n\n  By default, the results are written to the terminal in human-readable format. If you specify `--result-format csv`,\n  the output is written to one or more CSV (comma-separated values) files. The file names correspond to the Salesforce\n  objects in the results, such as Account.csv. Both `--result-format human` and `--result-format json` display only to\n  the terminal.\n\nEXAMPLES\n  Specify a SOSL query at the command line; the command uses your default org:\n\n    $ sf data search --query \"FIND {Anna Jones} IN Name Fields RETURNING Contact (Name, Phone)\"\n\n  Read the SOSL query from a file called \"query.txt\"; the command uses the org with alias \"my-scratch\":\n\n    $ sf data search --file query.txt --target-org my-scratch\n\n  Similar to the previous example, but write the results to one or more CSV files, depending on the Salesforce objects\n  in the results:\n\n    $ sf data search --file query.txt --target-org my-scratch --result-format csv\n```\n\n_See code: [src/commands/data/search.ts](https://github.com/salesforcecli/plugin-data/blob/4.0.93/src/commands/data/search.ts)_\n\n## `sf data update bulk`\n\nBulk update records to an org from a CSV file. Uses Bulk API 2.0.\n\n```\nUSAGE\n  $ sf data update bulk -s \u003cvalue\u003e -o \u003cvalue\u003e [--json] [--flags-dir \u003cvalue\u003e] [-w \u003cvalue\u003e] [--api-version \u003cvalue\u003e]\n    (--line-ending CRLF|LF -f \u003cvalue\u003e) [--column-delimiter BACKQUOTE|CARET|COMMA|PIPE|SEMICOLON|TAB]\n\nFLAGS\n  -f, --file=\u003cvalue\u003e               (required) CSV file that contains the Salesforce object records you want to update.\n  -o, --target-org=\u003cvalue\u003e         (required) Username or alias of the target org. Not required if the `target-org`\n                                   configuration variable is already set.\n  -s, --sobject=\u003cvalue\u003e            (required) API name of the Salesforce object, either standard or custom, which you\n                                   are updating.\n  -w, --wait=\u003cvalue\u003e               Time to wait for the command to finish, in minutes.\n      --api-version=\u003cvalue\u003e        Override the api version used for api requests made by this command\n      --column-delimiter=\u003coption\u003e  Column delimiter used in the CSV file.\n                                   \u003coptions: BACKQUOTE|CARET|COMMA|PIPE|SEMICOLON|TAB\u003e\n      --line-ending=\u003coption\u003e       Line ending used in the CSV file. Default value on Windows is `CRLF`; on macOS and\n                                   Linux it's `LF`.\n                                   \u003coptions: CRLF|LF\u003e\n\nGLOBAL FLAGS\n  --flags-dir=\u003cvalue\u003e  Import flag values from a directory.\n  --json               Format output as json.\n\nDESCRIPTION\n  Bulk update records to an org from a CSV file. Uses Bulk API 2.0.\n\n  You can use this command to update millions of Salesforce object records based on a file in comma-separated values\n  (CSV) format.\n\n  All the records in the CSV file must be for the same Salesforce object. Specify the object with the `--sobject` flag.\n  The first column of every line in the CSV file must be an ID of the record you want to update. The CSV file can\n  contain only existing records; if a record in the file doesn't currently exist in the Salesforce object, the command\n  fails. Consider using \"sf data upsert bulk\" if you also want to insert new records.\n\n  Bulk updates can take a while, depending on how many records are in the CSV file. If the command times out, the\n  command displays the job ID. To see the status and get the results of the job, run \"sf data update resume\" and pass\n  the job ID to the --job-id flag.\n\n  For information and examples about how to prepare your CSV files, see \"Prepare Data to Ingest\" in the \"Bulk API 2.0\n  and Bulk API Developer Guide\"\n  (https://developer.salesforce.com/docs/atlas.en-us.api_asynch.meta/api_asynch/datafiles_prepare_data.htm).\n\nEXAMPLES\n  Update Account records from a CSV-formatted file into an org with alias \"my-scratch\"; if the update doesn't complete\n  in 10 minutes, the command ends and displays a job ID:\n\n    $ sf data update bulk --file accounts.csv --sobject Account --wait 10 --target-org my-scratch\n```\n\n_See code: [src/commands/data/update/bulk.ts](https://github.com/salesforcecli/plugin-data/blob/4.0.93/src/commands/data/update/bulk.ts)_\n\n## `sf data update record`\n\nUpdates a single record of a Salesforce or Tooling API object.\n\n```\nUSAGE\n  $ sf data update record -o \u003cvalue\u003e -s \u003cvalue\u003e -v \u003cvalue\u003e [--json] [--flags-dir \u003cvalue\u003e] [--api-version \u003cvalue\u003e] [-i\n    \u003cvalue\u003e] [-w \u003cvalue\u003e] [-t]\n\nFLAGS\n  -i, --record-id=\u003cvalue\u003e    ID of the record you’re updating.\n  -o, --target-org=\u003cvalue\u003e   (required) Username or alias of the target org. Not required if the `target-org`\n                             configuration variable is already set.\n  -s, --sobject=\u003cvalue\u003e      (required) API name of the Salesforce or Tooling API object that contains the record you're\n                             updating.\n  -t, --use-tooling-api      Use Tooling API so you can update a record in a Tooling API object.\n  -v, --values=\u003cvalue\u003e       (required) Fields that you're updating, in the format of \u003cfieldName\u003e=\u003cvalue\u003e pairs.\n  -w, --where=\u003cvalue\u003e        List of \u003cfieldName\u003e=\u003cvalue\u003e pairs that identify the record you want to update.\n      --api-version=\u003cvalue\u003e  Override the api version used for api requests made by this command\n\nGLOBAL FLAGS\n  --flags-dir=\u003cvalue\u003e  Import flag values from a directory.\n  --json               Format output as json.\n\nDESCRIPTION\n  Updates a single record of a Salesforce or Tooling API object.\n\n  Specify the record you want to update with either its ID or with a list of field-value pairs that identify the record.\n  If your list of fields identifies more than one record, the update fails; the error displays how many records were\n  found.\n\n  When using field-value pairs for both identifying the record and specifiyng the new field values, use the format\n  \u003cfieldName\u003e=\u003cvalue\u003e. Enclose all field-value pairs in one set of double quotation marks, delimited by spaces. Enclose\n  values that contain spaces in single quotes.\n\n  This command updates a record in Salesforce objects by default. Use the --use-tooling-api flag to update a Tooling API\n  object.\n\nALIASES\n  $ sf force data record update\n\nEXAMPLES\n  Update the Name field of an Account record with the specified (truncated) ID:\n\n    $ sf data update record --sobject Account --record-id 001D0 --values \"Name=NewAcme\"\n\n  Update the Name field of an Account record whose current name is 'Old Acme':\n\n    $ sf data update record --sobject Account --where \"Name='Old Acme'\" --values \"Name='New Acme'\"\n\n  Update the Name and Website fields of an Account record with the specified (truncated) ID:\n\n    $ sf data update record --sobject Account --record-id 001D0 --values \"Name='Acme III' Website=www.example.com\"\n\n  Update the ExpirationDate field of a record of the Tooling API object TraceFlag using the specified (truncated) ID:\n\n    $ sf data update record -t --sobject TraceFlag --record-id 7tf170000009cUBAAY --values \\\n      \"ExpirationDate=2017-12-01T00:58:04.000+0000\"\n```\n\n_See code: [src/commands/data/update/record.ts](https://github.com/salesforcecli/plugin-data/blob/4.0.93/src/commands/data/update/record.ts)_\n\n## `sf data update resume`\n\nResume a bulk update job that you previously started. Uses Bulk API 2.0.\n\n```\nUSAGE\n  $ sf data update resume [--json] [--flags-dir \u003cvalue\u003e] [--use-most-recent] [-i \u003cvalue\u003e] [-w \u003cvalue\u003e]\n\nFLAGS\n  -i, --job-id=\u003cvalue\u003e   Job ID of the bulk update.\n  -w, --wait=\u003cvalue\u003e     [default: 5 minutes] Time to wait for the command to finish, in minutes.\n      --use-most-recent  Use the job ID of the bulk update job that was most recently run.\n\nGLOBAL FLAGS\n  --flags-dir=\u003cvalue\u003e  Import flag values from a directory.\n  --json               Format output as json.\n\nDESCRIPTION\n  Resume a bulk update job that you previously started. Uses Bulk API 2.0.\n\n  When the original \"sf data update bulk\" command times out, it displays a job ID. To see the status and get the results\n  of the bulk update, run this command by either passing it the job ID or using the --use-most-recent flag to specify\n  the most recent bulk update job.\n\n  Using either `--job-id` or `--use-most-recent` will properly resolve to the correct org where the bulk job was started\n  based on the cached data by \"data update bulk\".\n\nEXAMPLES\n  Resume a bulk update job using a job ID:\n\n    $ sf data update resume --job-id 750xx000000005sAAA\n\n  Resume the most recently run bulk update job:\n\n    $ sf data update resume --use-most-recent\n```\n\n_See code: [src/commands/data/update/resume.ts](https://github.com/salesforcecli/plugin-data/blob/4.0.93/src/commands/data/update/resume.ts)_\n\n## `sf data upsert bulk`\n\nBulk upsert records to an org from a CSV file. Uses Bulk API 2.0.\n\n```\nUSAGE\n  $ sf data upsert bulk -o \u003cvalue\u003e -s \u003cvalue\u003e -i \u003cvalue\u003e [--json] [--flags-dir \u003cvalue\u003e] [--api-version \u003cvalue\u003e] [-w\n    \u003cvalue\u003e] (--line-ending CRLF|LF -f \u003cvalue\u003e) [--column-delimiter BACKQUOTE|CARET|COMMA|PIPE|SEMICOLON|TAB]\n\nFLAGS\n  -f, --file=\u003cvalue\u003e               (required) CSV file that contains the IDs of the records to update or delete.\n  -i, --external-id=\u003cvalue\u003e        (required) Name of the external ID field, or the Id field.\n  -o, --target-org=\u003cvalue\u003e         (required) Username or alias of the target org. Not required if the `target-org`\n                                   configuration variable is already set.\n  -s, --sobject=\u003cvalue\u003e            (required) API name of the Salesforce object, either standard or custom, that you\n                                   want to update or delete records from.\n  -w, --wait=\u003cvalue\u003e               [default: 0 minutes] Number of minutes to wait for the command to complete before\n                                   displaying the results.\n      --api-version=\u003cvalue\u003e        Override the api version used for api requests made by this command\n      --column-delimiter=\u003coption\u003e  Column delimiter used in the CSV file.\n                                   \u003coptions: BACKQUOTE|CARET|COMMA|PIPE|SEMICOLON|TAB\u003e\n      --line-ending=\u003coption\u003e       Line ending used in the CSV file. Default value on Windows is `CRLF`; on macOS and\n                                   Linux it's `LF`.\n                                   \u003coptions: CRLF|LF\u003e\n\nGLOBAL FLAGS\n  --flags-dir=\u003cvalue\u003e  Import flag values from a directory.\n  --json               Format output as json.\n\nDESCRIPTION\n  Bulk upsert records to an org from a CSV file. Uses Bulk API 2.0.\n\n  An upsert refers to inserting a record into a Salesforce object if the record doesn't already exist, or updating it if\n  it does exist.\n\n  When you execute this command, it starts a job, displays the ID, and then immediately returns control of the terminal\n  to you by default. If you prefer to wait, set the --wait flag to the number of minutes; if it times out, the command\n  outputs the IDs. Use the job and batch IDs to check the status of the job with the \"sf data upsert resume\" command.\n\n  See \"Prepare CSV Files\" in the Bulk API Developer Guide for details on formatting your CSV file.\n  (https://developer.salesforce.com/docs/atlas.en-us.api_asynch.meta/api_asynch/datafiles_prepare_csv.htm)\n\nEXAMPLES\n  Bulk upsert records to the Contact object in your default org:\n\n    $ sf data upsert bulk --sobject Contact --file files/contacts.csv --external-id Id\n\n  Bulk upsert records to a custom object in an org with alias my-scratch and wait 5 minutes for the command to\n  complete:\n\n    $ sf data upsert bulk --sobject MyObject__c --file files/file.csv --external-id MyField__c --wait 5 --target-org \\\n      my-scratch\n```\n\n_See code: [src/commands/data/upsert/bulk.ts](https://github.com/salesforcecli/plugin-data/blob/4.0.93/src/commands/data/upsert/bulk.ts)_\n\n## `sf data upsert resume`\n\nResume a bulk upsert job that you previously started. Uses Bulk API 2.0.\n\n```\nUSAGE\n  $ sf data upsert resume [--json] [--flags-dir \u003cvalue\u003e] [-o \u003cvalue\u003e] [--use-most-recent | -i \u003cvalue\u003e] [--wait \u003cvalue\u003e]\n    [--api-version \u003cvalue\u003e]\n\nFLAGS\n  -i, --job-id=\u003cvalue\u003e       ID of the job you want to resume.\n  -o, --target-org=\u003cvalue\u003e   Username or alias of the target org. Not required if the \"target-org\" configuration\n                             variable is already set.\n      --api-version=\u003cvalue\u003e  Override the api version used for api requests made by this command\n      --use-most-recent      Use the ID of the most recently-run bulk job.\n      --wait=\u003cvalue\u003e         [default: 5 minutes] Number of minutes to wait for the command to complete before\n                             displaying the results.\n\nGLOBAL FLAGS\n  --flags-dir=\u003cvalue\u003e  Import flag values from a directory.\n  --json               Format output as json.\n\nDESCRIPTION\n  Resume a bulk upsert job that you previously started. Uses Bulk API 2.0.\n\n  The command uses the job ID returned from the \"sf data upsert bulk\" command or the most recently-run bulk upsert job.\n\nEXAMPLES\n  Resume a bulk upsert job from your default org using an ID:\n\n    $ sf data upsert resume --job-id 750xx000000005sAAA\n\n  Resume the most recently run bulk upsert job for an org with alias my-scratch:\n\n    $ sf data upsert resume --use-most-recent --target-org my-scratch\n```\n\n_See code: [src/commands/data/upsert/resume.ts](https://github.com/salesforcecli/plugin-data/blob/4.0.93/src/commands/data/upsert/resume.ts)_\n\n## `sf force data bulk delete`\n\nBulk delete records from an org using a CSV file. Uses Bulk API 1.0.\n\n```\nUSAGE\n  $ sf force data bulk delete -o \u003cvalue\u003e -f \u003cvalue\u003e -s \u003cvalue\u003e [--json] [--flags-dir \u003cvalue\u003e] [--api-version \u003cvalue\u003e] [-w\n    \u003cvalue\u003e]\n\nFLAGS\n  -f, --file=\u003cvalue\u003e         (required) CSV file that contains the IDs of the records to delete.\n  -o, --target-org=\u003cvalue\u003e   (required) Username or alias of the target org. Not required if the `target-org`\n                             configuration variable is already set.\n  -s, --sobject=\u003cvalue\u003e      (required) API name of the Salesforce object, either standard or custom, that you want to\n                             delete records from.\n  -w, --wait=\u003cvalue\u003e         [default: 0 minutes] Number of minutes to wait for the command to complete before\n                             displaying the results.\n      --api-version=\u003cvalue\u003e  Override the api version used for api requests made by this command\n\nGLOBAL FLAGS\n  --flags-dir=\u003cvalue\u003e  Import flag values from a directory.\n  --json               Format output as json.\n\nDESCRIPTION\n  Bulk delete records from an org using a CSV file. Uses Bulk API 1.0.\n\n  The CSV file must have only one column (\"Id\") and then the list of record IDs you want to delete, one ID per line.\n\n  When you execute this command, it starts a job and one or more batches, displays their IDs, and then immediately\n  returns control of the terminal to you by default. If you prefer to wait, set the --wait flag to the number of\n  minutes; if it times out, the command outputs the IDs. Use the job and batch IDs to check the status of the job with\n  the \"sf force data bulk status\" command. A single job can contain many batches, depending on the length of the CSV\n  file.\n\nEXAMPLES\n  Bulk delete Account records from your default org using the list of IDs in the \"files/delete.csv\" file:\n\n    $ sf force data bulk delete --sobject Account --file files/delete.csv\n\n  Bulk delete records from a custom object in an org with alias my-scratch and wait 5 minutes for the command to\n  complete:\n\n    $ sf force data bulk delete --sobject MyObject__c --file files/delete.csv --wait 5 --target-org my-scratch\n```\n\n_See code: [src/commands/force/data/bulk/delete.ts](https://github.com/salesforcecli/plugin-data/blob/4.0.93/src/commands/force/data/bulk/delete.ts)_\n\n## `sf force data bulk status`\n\nView the status of a bulk data load job or batch. Uses Bulk API 1.0.\n\n```\nUSAGE\n  $ sf force data bulk status -o \u003cvalue\u003e -i \u003cvalue\u003e [--json] [--flags-dir \u003cvalue\u003e] [--api-version \u003cvalue\u003e] [-b \u003cvalue\u003e]\n\nFLAGS\n  -b, --batch-id=\u003cvalue\u003e     ID of the batch whose status you want to view; you must also specify the job ID.\n  -i, --job-id=\u003cvalue\u003e       (required) ID of the job whose status you want to view.\n  -o, --target-org=\u003cvalue\u003e   (required) Username or alias of the target org. Not required if the `target-org`\n                             configuration variable is already set.\n      --api-version=\u003cvalue\u003e  Override the api version used for api requests made by this command\n\nGLOBAL FLAGS\n  --flags-dir=\u003cvalue\u003e  Import flag values from a directory.\n  --json               Format output as json.\n\nDESCRIPTION\n  View the status of a bulk data load job or batch. Uses Bulk API 1.0.\n\n  Run this command using the job ID or batch ID returned from the \"sf force data bulk delete\" or \"sf force data bulk\n  upsert\" commands.\n\nEXAMPLES\n  View the status of a bulk load job in your default org:\n\n    $ sf force data bulk status --job-id 750xx000000005sAAA\n\n  View the status of a bulk load job and a specific batches in an org with alias my-scratch:\n\n    $ sf force data bulk status --job-id 750xx000000005sAAA --batch-id 751xx000000005nAAA --target-org my-scratch\n```\n\n_See code: [src/commands/force/data/bulk/status.ts](https://github.com/salesforcecli/plugin-data/blob/4.0.93/src/commands/force/data/bulk/status.ts)_\n\n## `sf force data bulk upsert`\n\nBulk upsert records to an org from a CSV file. Uses Bulk API 1.0.\n\n```\nUSAGE\n  $ sf force data bulk upsert -o \u003cvalue\u003e -i \u003cvalue\u003e -f \u003cvalue\u003e -s \u003cvalue\u003e [--json] [--flags-dir \u003cvalue\u003e] [--api-version\n    \u003cvalue\u003e] [-w \u003cvalue\u003e] [-r]\n\nFLAGS\n  -f, --file=\u003cvalue\u003e         (required) CSV file that contains the records to upsert.\n  -i, --external-id=\u003cvalue\u003e  (required) Name of the external ID field, or the Id field.\n  -o, --target-org=\u003cvalue\u003e   (required) Username or alias of the target org. Not required if the `target-org`\n                             configuration variable is already set.\n  -r, --serial               Run batches in serial mode.\n  -s, --sobject=\u003cvalue\u003e      (required) API name of the Salesforce object, either standard or custom, that you want to\n                             upsert records to.\n  -w, --wait=\u003cvalue\u003e         [default: 0 minutes] Number of minutes to wait for the command to complete before\n                             displaying the results.\n      --api-version=\u003cvalue\u003e  Override the api version used for api requests made by this command\n\nGLOBAL FLAGS\n  --flags-dir=\u003cvalue\u003e  Import flag values from a directory.\n  --json               Format output as json.\n\nDESCRIPTION\n  Bulk upsert records to an org from a CSV file. Uses Bulk API 1.0.\n\n  An upsert refers to inserting a record into a Salesforce object if the record doesn't already exist, or updating it if\n  it does exist.\n\n  When you execute this command, it starts a job and one or more batches, displays their IDs, and then immediately\n  returns control of the terminal to you by default. If you prefer to wait, set the --wait flag to the number of\n  minutes; if it times out, the command outputs the IDs. Use the job and batch IDs to check the status of the job with\n  the \"sf force data bulk status\" command. A single job can contain many batches, depending on the length of the CSV\n  file.\n\n  See \"Prepare CSV Files\" in the Bulk API Developer Guide for details on formatting your CSV file.\n  (https://developer.salesforce.com/docs/atlas.en-us.api_asynch.meta/api_asynch/datafiles_csv_preparing.htm)\n\n  By default, the job runs the batches in parallel, which we recommend. You can run jobs serially by specifying the\n  --serial flag. But don't process data in serial mode unless you know this would otherwise result in lock timeouts and\n  you can't reorganize your batches to avoid the locks.\n\nEXAMPLES\n  Bulk upsert records to the Contact object in your default org:\n\n    $ sf --sobject Contact --file files/contacts.csv --external-id Id\n\n  Bulk upsert records to a custom object in an org with alias my-scratch and wait 5 minutes for the command to\n  complete:\n\n    $ sf force data bulk upsert --sobject MyObject__c --file files/file.csv --external-id MyField__c --wait 5 \\\n      --target-org my-scratch\n```\n\n_See code: [src/commands/force/data/bulk/upsert.ts](https://github.com/salesforcecli/plugin-data/blob/4.0.93/src/commands/force/data/bulk/upsert.ts)_\n\n\u003c!-- commandsstop --\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsalesforcecli%2Fplugin-data","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsalesforcecli%2Fplugin-data","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsalesforcecli%2Fplugin-data/lists"}