## Stripe CLI Documentation

This documentation outlines the various commands and functionalities of the Stripe Command-Line Interface (CLI). The Stripe CLI is a powerful tool that allows developers to interact with the Stripe API directly from their terminal, streamlining the process of building, testing, and managing Stripe integrations.

### Core Functionality

*   **`stripe login`**: Authenticates the CLI with your Stripe account, persisting API keys locally for seamless integration. This command supports interactive login and project-specific configurations.
*   **`stripe logout`**: Removes credentials, allowing you to disconnect the CLI from your Stripe account, either for the default project, a specific project, or all projects.
*   **`stripe config`**: Manages CLI configuration settings, including setting, unsetting, listing, and editing configuration options. It supports project-specific configurations.
*   **`stripe api_keys`**: Provides an overview of how Stripe API keys can be used with the CLI, including `login`, `config`, `--api-key` flag, and environment variables.
*   **`stripe resources`**: Enables interaction with Stripe API resources through resource commands, allowing you to create, retrieve, update, and delete objects.
*   **`stripe fixtures`**: Facilitates issuing a series of API requests using a JSON file, useful for generating sample data, executing flows, and testing API behavior.

### Samples and Development

*   **`stripe samples`**: A suite of commands for working with Stripe Samples, which are pre-built integration examples.
    *   **`stripe samples create`**: Downloads and creates a local copy of a specified Stripe Sample.
    *   **`stripe samples list`**: Displays a list of available Stripe Samples that can be created.
*   **`stripe serve`**: Starts an HTTP server to serve static files, commonly used with Stripe Samples for local development.

### Utility and Information Commands

*   **`stripe completion`**: Sets up shell autocompletion for Bash and Zsh to enhance command-line usability.
*   **`stripe help`**: Provides detailed help documentation for any Stripe CLI command.
*   **`stripe version`**: Displays the current Stripe CLI version and checks for available updates.
*   **`stripe feedback`**: Offers information on how to provide feedback for the Stripe CLI through GitHub issues and a dedicated feedback form.

### Advanced Usage and Configuration

*   **Global Flags**: A set of flags applicable to most Stripe CLI commands, including `--api-key`, `--color`, `--config`, `--device-name`, `--help`, `--log-level`, `--project-name`, and `--version`.
*   **`stripe terminal quickstart`**: Guides you through setting up Stripe Terminal with a Verifone P400 reader.
*   **Docker Integration**: Information on running the Stripe CLI within a Docker container, including environment variable usage and the `--api-key` flag.
*   **Telemetry**: Details about the CLI's telemetry feature, including what data is collected, why it's collected, and how to opt out.
*   **License**: Information about the Stripe CLI's license (Apache License 2.0).