Was this page helpful?
Interact with documents in your project
usage: sanity documents [-v|--version] [-d|--debug] [-h|--help] <command> [<args>] Commands: create Create one or more documents delete Delete a document by ID get Get and print a document query Query for documents validate Download and validate documents See 'sanity help documents <command>' for specific information on a subcommand.
usage: sanity documents create [FILE] Create one or more documents Options --replace On duplicate document IDs, replace existing document with specified document(s) --missing On duplicate document IDs, don't modify the target document(s) --watch Write the documents whenever the target file or buffer changes --json5 Use JSON5 file type to allow a "simplified" version of JSON --id <id> Specify a document ID to use. Will fetch remote document ID and populate editor. --dataset NAME to override dataset Examples # Create the document specified in "myDocument.json". sanity documents create myDocument.json # Open configured $EDITOR and create the specified document(s) sanity documents create # Fetch document with the ID "myDocId" and open configured $EDITOR with the # current document content (if any). Replace document with the edited version # when the editor closes sanity documents create --id myDocId --replace # Open configured $EDITOR and replace the document with the given content # on each save. Use JSON5 file extension and parser for simplified syntax. sanity documents create --id myDocId --watch --replace --json5
usage: sanity documents delete [ID] [...IDS] Delete a document by ID Delete a document from the projects configured dataset Options --dataset NAME to override dataset Example # Delete the document with the ID "myDocId" sanity documents delete myDocId # ID wrapped in double or single quote works equally well sanity documents delete 'myDocId' # Delete document with ID "someDocId" from dataset "blog" sanity documents delete --dataset=blog someDocId # Delete the document with ID "doc1" and "doc2" sanity documents delete doc1 doc2
usage: sanity documents get [DOCUMENT_ID] Get and print a document by ID Get and print a document from the projects configured dataset Options --pretty colorized JSON output --dataset NAME to override dataset Examples # Get the document with the ID "myDocId" sanity documents get myDocId # ID wrapped in double or single quote works equally well sanity documents get 'myDocId'
usage: sanity documents query [QUERY]
Query for documents
Run a query against the projects configured dataset
Options
--pretty colorized JSON output
--dataset NAME to override dataset
--project PROJECT to override project ID
--anonymous Send the query without any authorization token
--api-version API version to use (defaults to `v2022-06-01`)
Environment variables
`SANITY_CLI_QUERY_API_VERSION` - will use the defined API version,
unless `--api-version` is specified.
Examples
# Fetch 5 documents of type "movie"
sanity documents query '*[_type == "movie"][0..4]'
# Fetch title of the oldest movie in the dataset named "staging"
sanity documents query '*[_type == "movie"]|order(releaseDate asc)[0]{title}' --dataset staging
# Use API version v2021-06-07 and do a query
sanity documents query --api-version v2021-06-07 '*[_id == "header"] { "headerText": pt::text(body) }'usage: sanity documents validate Downloads and validates all documents specified in a workspace Options -y, --yes Skips the first confirmation prompt. --workspace <name> The name of the workspace to use when downloading and validating all documents. --dataset <name> Override the dataset used. By default, this is derived from the given workspace. --file <filepath> Provide a path to either an .ndjson file or a tarball containing an .ndjson file. --format <pretty|ndjson|json> The output format used to print the found validation markers and report progress. --level <error|warning|info> The minimum level reported out. Defaults to warning. --max-custom-validation-concurrency <number> Specify how many custom validators can run concurrently. Defaults to 5. --max-fetch-concurrency <number> Specify how many `client.fetch` requests are allowed concurrently. Defaults to 25. Examples # Validates all documents in a Sanity project with more than one workspace sanity documents validate --workspace default # Override the dataset specified in the workspace sanity documents validate --workspace default --dataset staging # Save the results of the report into a file sanity documents validate > report.txt # Report out info level validation markers too sanity documents validate --level info
usage: sanity documents [-v|--version] [-d|--debug] [-h|--help] <command> [<args>]
Commands:
create Create one or more documents
delete Delete a document by ID
get Get and print a document
query Query for documents
validate Download and validate documents
See 'sanity help documents <command>' for specific information on a subcommand.usage: sanity documents create [FILE]
Create one or more documents
Options
--replace On duplicate document IDs, replace existing document with specified document(s)
--missing On duplicate document IDs, don't modify the target document(s)
--watch Write the documents whenever the target file or buffer changes
--json5 Use JSON5 file type to allow a "simplified" version of JSON
--id <id> Specify a document ID to use. Will fetch remote document ID and populate editor.
--dataset NAME to override dataset
Examples
# Create the document specified in "myDocument.json".
sanity documents create myDocument.json
# Open configured $EDITOR and create the specified document(s)
sanity documents create
# Fetch document with the ID "myDocId" and open configured $EDITOR with the
# current document content (if any). Replace document with the edited version
# when the editor closes
sanity documents create --id myDocId --replace
# Open configured $EDITOR and replace the document with the given content
# on each save. Use JSON5 file extension and parser for simplified syntax.
sanity documents create --id myDocId --watch --replace --json5usage: sanity documents delete [ID] [...IDS]
Delete a document by ID
Delete a document from the projects configured dataset
Options
--dataset NAME to override dataset
Example
# Delete the document with the ID "myDocId"
sanity documents delete myDocId
# ID wrapped in double or single quote works equally well
sanity documents delete 'myDocId'
# Delete document with ID "someDocId" from dataset "blog"
sanity documents delete --dataset=blog someDocId
# Delete the document with ID "doc1" and "doc2"
sanity documents delete doc1 doc2usage: sanity documents get [DOCUMENT_ID]
Get and print a document by ID
Get and print a document from the projects configured dataset
Options
--pretty colorized JSON output
--dataset NAME to override dataset
Examples
# Get the document with the ID "myDocId"
sanity documents get myDocId
# ID wrapped in double or single quote works equally well
sanity documents get 'myDocId'usage: sanity documents query [QUERY]
Query for documents
Run a query against the projects configured dataset
Options
--pretty colorized JSON output
--dataset NAME to override dataset
--project PROJECT to override project ID
--anonymous Send the query without any authorization token
--api-version API version to use (defaults to `v2022-06-01`)
Environment variables
`SANITY_CLI_QUERY_API_VERSION` - will use the defined API version,
unless `--api-version` is specified.
Examples
# Fetch 5 documents of type "movie"
sanity documents query '*[_type == "movie"][0..4]'
# Fetch title of the oldest movie in the dataset named "staging"
sanity documents query '*[_type == "movie"]|order(releaseDate asc)[0]{title}' --dataset staging
# Use API version v2021-06-07 and do a query
sanity documents query --api-version v2021-06-07 '*[_id == "header"] { "headerText": pt::text(body) }'usage: sanity documents validate
Downloads and validates all documents specified in a workspace
Options
-y, --yes Skips the first confirmation prompt.
--workspace <name> The name of the workspace to use when downloading and validating all documents.
--dataset <name> Override the dataset used. By default, this is derived from the given workspace.
--file <filepath> Provide a path to either an .ndjson file or a tarball containing an .ndjson file.
--format <pretty|ndjson|json> The output format used to print the found validation markers and report progress.
--level <error|warning|info> The minimum level reported out. Defaults to warning.
--max-custom-validation-concurrency <number> Specify how many custom validators can run concurrently. Defaults to 5.
--max-fetch-concurrency <number> Specify how many `client.fetch` requests are allowed concurrently. Defaults to 25.
Examples
# Validates all documents in a Sanity project with more than one workspace
sanity documents validate --workspace default
# Override the dataset specified in the workspace
sanity documents validate --workspace default --dataset staging
# Save the results of the report into a file
sanity documents validate > report.txt
# Report out info level validation markers too
sanity documents validate --level info