website/src/docs/nitro/cli-commands/client.md
The nitro client command provides a set of subcommands that allow you to create, delete, upload, validate, publish, unpublish client versions, as well as list all clients of an API, show details of a specific client, and download queries from a stage.
The nitro client create command is used to create a new client.
nitro client create --api-id abc123 --name "My Client"
Options
--api-id <api-id>: Specifies the ID of the API for which you want to create a client. This ID can be retrieved with the nitro api list command. You can set it from the environment variable NITRO_API_ID.--name <name>: Specifies a name for the client for future reference. You can set it from the environment variable NITRO_API_KEY_NAME.Global Options
--cloud-url <cloud-url>--api-key <api-key>--output <json>The nitro client delete command is used to delete a client by its ID.
nitro client delete client123
Arguments
<id>: Specifies the ID of the client you want to delete.Options
--force: If provided, the command will not ask for confirmation before deleting.Global Options
--cloud-url <cloud-url>--api-key <api-key>--output <json>The nitro client upload command is used to upload a new client version.
nitro client upload --tag v1.0.1 --operations-file ./operations.json --client-id client123
Options
--tag <tag> (required): Specifies the tag of the client version to upload. It creates a new version of the client with the specified tag. The tag can be any string, but it's recommended to use a version number (e.g., v1.0.1) or a commit hash. You can set it from the environment variable NITRO_TAG.--operations-file <operations-file> (required): Specifies the path to the JSON file with the operations. This is a file containing persisted queries in Relay style. You can set it from the environment variable NITRO_OPERATIONS_FILE.--client-id <client-id> (required): Specifies the ID of the client. This ID can be retrieved with the nitro client list command. You can set it from the environment variable NITRO_CLIENT_ID.Global Options
--cloud-url <cloud-url>--api-key <api-key>--output <json>The nitro client validate command is used to validate a client version.
nitro client validate --stage production --client-id client123 --operations-file ./operations.json
Options
--stage <stage> (required): Specifies the name of the stage. This is the name of the environment where the client will be validated. You can set it from the environment variable NITRO_STAGE.--client-id <client-id> (required): Specifies the ID of the client. You can set it from the environment variable NITRO_CLIENT_ID.--operations-file <operations-file> (required): Specifies the path to the JSON file with the operations. You can set it from the environment variable NITRO_OPERATIONS_FILE.Global Options
--cloud-url <cloud-url>--api-key <api-key>--output <json>The nitro client publish command is used to publish a client version to a stage.
nitro client publish --tag v1.0.0 --stage production --client-id client123
Options
--tag <tag> (required): Specifies the tag of the client version to publish. You can set it from the environment variable NITRO_TAG.--stage <stage> (required): Specifies the name of the stage. You can set it from the environment variable NITRO_STAGE.--client-id <client-id> (required): Specifies the ID of the client. You can set it from the environment variable NITRO_CLIENT_ID.--force: If provided, the command will not ask for confirmation before publishing.--wait-for-approval: If provided, waits for a user to approve the schema change in case of a breaking change.Global Options
--cloud-url <cloud-url>--api-key <api-key>--output <json>The nitro client unpublish command is used to unpublish a client version from a stage.
nitro client unpublish --tag v1.0.0 --stage production --client-id client123
Options
--tag <tag> (required): Specifies the tag of the client version to unpublish. You can set it from the environment variable NITRO_TAG.--stage <stage> (required): Specifies the name of the stage. You can set it from the environment variable NITRO_STAGE.--client-id <client-id> (required): Specifies the ID of the client. You can set it from the environment variable NITRO_CLIENT_ID.Global Options
--cloud-url <cloud-url>--api-key <api-key>--output <json>The nitro client download command is used to download the queries from a stage.
nitro client download --api-id abc123 --stage production --output ./queries --format relay
Options
--api-id <api-id> (required): Specifies the ID of the API from which to download the queries. You can set it from the environment variable NITRO_API_ID.--stage <stage> (required): Specifies the name of the stage. You can set it from the environment variable NITRO_STAGE.--output <output> (required): Specifies the path where the queries will be stored.--format <folder|relay>: Specifies the format in which the queries will be stored. Options are folder or relay.Global Options
--cloud-url <cloud-url>--api-key <api-key>--output <json>The nitro client list command is used to list all clients of an API.
nitro client list --api-id abc123
Options
--api-id <api-id>: Specifies the ID of the API for which you want to list the clients. You can set it from the environment variable NITRO_API_ID.--cursor <cursor>: Specifies the cursor to start the query (for pagination). You can set it from the environment variable NITRO_CURSOR.Global Options
--cloud-url <cloud-url>--api-key <api-key>--output <json>The nitro client show command is used to show details of a specific client.
nitro client show client123 --fields publishedVersions,versions
Arguments
<id>: The ID of the client whose details you want to show.Options
--fields <publishedVersions|versions>: Specifies additional fields to display in the client detail prompt. You can specify multiple fields separated by commas.Global Options
--cloud-url <cloud-url>--api-key <api-key>--output <json>