Project commands

These commands manage Uploadcare projects, their API secrets, and usage metrics.

Most project commands require a Project API token (account-level bearer token) for authentication. The project info command without arguments uses REST API authentication instead.

Project API tokens are not yet available in the dashboard. To get one, contact support at help@uploadcare.com.

Where a <project> argument is required, pass either a project name from your config file or a public key directly.

See Projects for details on project settings in the dashboard.

Global flags like --json, --jq, -v, and --quiet are available on every command. See Configuration for the full list.

project info

Get project details. Without arguments, uses the current project’s REST API credentials. With a project argument, uses the Project API.

$uploadcare project info [project]

JSON fields (REST API): name, pub_key, collaborators, autostore_enabled

JSON fields (Project API): pub_key, name, is_blocked, is_shared_project, filesize_limit, autostore_enabled

Examples:

$# Current project (REST API)
$uploadcare project info
$
$# Specific project (Project API)
$uploadcare project info abc123 --project-api-token <token>
$uploadcare project info "My App" --project-api-token <token>

project list

List all projects accessible with your Project API token.

$uploadcare project list [flags]

Flags:

FlagDefaultDescription
--page-allfalseFetch all pages as NDJSON stream

JSON fields: pub_key, name, is_blocked, is_shared_project, filesize_limit, autostore_enabled

Examples:

$uploadcare project list --project-api-token <token>
$uploadcare project list --json all --project-api-token <token>
$uploadcare project list --page-all --json all --project-api-token <token>

project create

Create a new project.

$uploadcare project create <name> [flags]

Flags:

FlagDefaultDescription
--no-savefalseDon’t save project credentials to config file
--usefalseSet as the default project in config
--filesize-limit0Max file size in bytes (0 = unlimited)
--autostoreAuto-store uploads (true or false)
--dry-runfalseValidate inputs without creating

Examples:

$uploadcare project create "My App" --project-api-token <token>
$uploadcare project create "My App" --use --project-api-token <token>
$uploadcare project create "My App" --no-save --project-api-token <token>
$uploadcare project create "My App" --dry-run --project-api-token <token>

project update

Update project settings.

$uploadcare project update <project> [flags]

Flags:

FlagDefaultDescription
--nameNew project name
--filesize-limit0Max file size in bytes
--autostoreAuto-store uploads (true or false)
--dry-runfalseShow what would change without applying

JSON fields: pub_key, name, is_blocked, filesize_limit, autostore_enabled

Examples:

$uploadcare project update "My App" --name "Production" --project-api-token <token>
$uploadcare project update abc123 --filesize-limit 10485760 --project-api-token <token>
$uploadcare project update "My App" --name "New Name" --dry-run --project-api-token <token>

project delete

Delete a project.

$uploadcare project delete <project> [flags]

Project deletion is permanent and removes all files and settings associated with the project.

Flags:

FlagDefaultDescription
--dry-runfalseVerify without deleting

Examples:

$uploadcare project delete abc123 --project-api-token <token>
$uploadcare project delete "My App" --project-api-token <token>
$uploadcare project delete "My App" --dry-run --project-api-token <token>

project use

Switch the active project in your config file.

$uploadcare project use <project> [flags]

Flags:

FlagDefaultDescription
--secret-keyUse an existing secret key
--create-secretfalseCreate a new API secret for this project
--usefalseSet as the default project in config

Examples:

$uploadcare project use abc123 --secret-key "my-secret" --use --project-api-token <token>
$uploadcare project use abc123 --create-secret --project-api-token <token>
$uploadcare project use "Staging" --create-secret --use --project-api-token <token>

project secret list

List API secrets for a project.

$uploadcare project secret list <project>

Examples:

$uploadcare project secret list abc123 --project-api-token <token>
$uploadcare project secret list abc123 --json all --project-api-token <token>

project secret create

Create a new API secret for a project.

$uploadcare project secret create <project>

Examples:

$uploadcare project secret create abc123 --project-api-token <token>
$uploadcare project secret create abc123 --json all --project-api-token <token>

project secret delete

Delete an API secret.

$uploadcare project secret delete <project> <secret-id>

Examples:

$uploadcare project secret delete abc123 secret-id-here --project-api-token <token>

project usage

Get usage metrics for a project over a date range.

$uploadcare project usage <project> [flags]

Flags:

FlagDefaultDescription
--fromStart date, YYYY-MM-DD (required)
--toEnd date, YYYY-MM-DD (required)
--metricSingle metric: traffic, storage, or operations

Examples:

$uploadcare project usage abc123 --from 2026-02-01 --to 2026-03-01 --project-api-token <token>
$uploadcare project usage "My App" --from 2026-02-01 --to 2026-03-01 --metric traffic --project-api-token <token>
$uploadcare project usage abc123 --from 2026-02-01 --to 2026-03-01 --json all --project-api-token <token>