UiPath Documentation
uipath-cli
latest
false
Guia do usuário da UiPath CLI
Importante :
Este conteúdo foi traduzido com auxílio de tradução automática. A localização de um conteúdo recém-publicado pode levar de 1 a 2 semanas para ficar disponível.

Logon da UIP

Sintaxe e opções para "uip login", que autentica o UiPath CLI no UiPath Cloud e persiste a sessão localmente.

uip login autentica a CLI no UiPath Cloud e persiste a sessão resultante dentro de uma pasta local .uipath/ . Em caso de sucesso, a CLI tem um token de acesso e um tenant selecionado; ferramentas executadas por comandos subsequentes os coletam automaticamente. Consulte Autenticação para o modelo de credencial e Sessões e credenciais para saber onde a pasta reside.

Para verificar o status, consulte uip login status. Para desmontar uma sessão, consulte uip logout.

Resumo​

uip login [--tenant <name>] [--organization <name>]
         [--authority <url>] [--client-id <id>] [--client-secret <secret>]
         [--client-assertion <jwt>] [--scope <scopes>] [--no-browser] [-f <folder>]
uip login status
uip login refresh [--login-validity <minutes>]
uip login which
uip login tenant list [-f <folder>]
uip login tenant set <name> [-f <folder>]
uip login profiles list [--all-fields]
uip login profiles delete [profile-name] [--all] -y
uip login [--tenant <name>] [--organization <name>]
         [--authority <url>] [--client-id <id>] [--client-secret <secret>]
         [--client-assertion <jwt>] [--scope <scopes>] [--no-browser] [-f <folder>]
uip login status
uip login refresh [--login-validity <minutes>]
uip login which
uip login tenant list [-f <folder>]
uip login tenant set <name> [-f <folder>]
uip login profiles list [--all-fields]
uip login profiles delete [profile-name] [--all] -y

Cada subcomando uip login honra as opções globais (--output, --output-filter, --log-level, --log-file, --profile, --interactive/--no-interactive). Os códigos de saída seguem o contrato padrão.

Logon da UIP​

Autentica interativamente por meio do navegador ou de forma não interativa usando credenciais do cliente de aplicativo externo ou um token OIDC federado (carga de trabalho-identidade).

Argumentos​

Nenhum.

Opções​

  • -f, --file <folder> — Caminho para uma pasta de credenciais. A sessão é persistida dentro de <folder>. Sem ele, a CLI usa o local padrão (consulte Sessões e credenciais). mutuamente exclusivo com o sinalizador --profile global.
  • --authority <url> — URL de autoridade personalizada, por exemplo,https://cloud.uipath.com (padrão), https://govcloud.uipath.us (Setor Público) ou um host do Automation Suite. O prefixo https:// pode ser omitido (cloud.uipath.com funciona).
  • --client-id <id> ID do cliente ou ID do aplicativo para um aplicativo externo da UiPath. Aceita env.NAME para ler a partir de uma variável de ambiente.
  • --client-secret <secret> — Segredo do cliente para um aplicativo externo confidencial. Aceita env.NAME para ler a partir de uma variável de ambiente. Mutualmente exclusivo com --client-assertion.
  • --client-assertion <jwt> — Token OIDC (JWT) para login federado (identidade de carga de trabalho), usado em vez de um segredo do cliente. Aceita env.NAME (recomendado) para ler a partir de uma variável de ambiente — passar o token bruto como um valor literal imprime um aviso, pois, de outra forma, chegaria ao histórico do shell, listagens de processos e logs de CI. Requer --client-id. Mutualmente exclusivo com --client-secret.
  • -s, --scope <scopes> — Escopos separados por vírgula ou espaço (por"OR.Folders OR.Jobs" exemplo,). Use com um aplicativo externo ou credenciais federadas.
  • -t, --tenant <name> — Nome do tenant (modo não interativo). Se omitido, emparelhe com o sinalizador --interactive global para que a CLI possa solicitar um.
  • --organization <name> — Nome lógico da organização, pré-selecionado durante o login do navegador. Ignora o seletor de organizações quando seu usuário está em várias organizações. Ignorado (com um aviso) ao usar credenciais do cliente ou login federado — a organização é fixada por --client-id nesses fluxos.
  • --no-browser — Não abra um navegador; imprima o URL de autorização para o stderr (com prefixo UIPATH_AUTH_URL <url> para automação ao grep) e bloqueie até que o retorno de chamada do login chegue. Para login sem periféricos/orientado por automação. Também configurável por meio de UIPATH_CLI_NO_BROWSER=true. Não tem efeito (e é ignorado, com um aviso) ao usar credenciais do cliente ou login federado — nenhum navegador é aberto nesses fluxos de qualquer maneira. Quando uma pessoa vai fazer o login, peça que execute o comando em seu próprio terminal — executá-lo por meio da ferramenta de shell de um agente oculta o URL impresso dela.

Esta página também documenta dois sinalizadores que não são específicos de login — consulte Opções globais para o comportamento completo:

  • --interactive / --no-interactive — após a autenticação, force (ou suponha) o prompt interativo para selecionar um tenant da lista retornada pela nuvem. Não há formulário curto --it.
  • --profile <name> — use um perfil de login nomeado e salvo em vez do local de credenciais padrão. Mutualmente exclusivo com -f, --file.

Modos de Credencial​

  • Credenciais interativas / de usuário — execute uip login (opcionalmente com --interactive, --tenant ou --organization). O fluxo do navegador é concluído na autoridade do UiPath Cloud; os tokens resultantes são armazenados dentro da pasta de credenciais.
  • Aplicativo externo (credenciais de cliente, não interativo) — passe --client-id, --client-secret e --scope, normalmente com --tenant. Adequado para executores de CI. Leia o segredo de uma variável de ambiente com --client-secret env.UIPATH_CLIENT_SECRET para mantê-la fora do histórico do seu shell.
  • Identidade federada / carga de trabalho (não interativa) — passe --client-id e --client-assertion (um OIDC JWT obtido de seu provedor de CI ou agente de identidade de carga de trabalho em uma etapa anterior) em vez de um segredo do cliente. --client-secret e --client-assertion não podem ser combinados.

Exemplos​

# Browser-based interactive login, picks tenant at the end
uip login --interactive

# Log directly into a known org + tenant (no browser picker)
uip login --organization my-org --tenant DefaultTenant

# Log in to a non-default authority, e.g. an Automation Suite host
uip login --authority automation.acme-corp.com --tenant DefaultTenant

# External Application with secret from environment variable
uip login \
  --client-id "00000000-0000-0000-0000-000000000001" \
  --client-secret env.UIPATH_CLIENT_SECRET \
  --scope "OR.Folders OR.Jobs" \
  --tenant DefaultTenant

# Federated login (workload identity) — the OIDC token comes from your CI provider
uip login \
  --client-id "00000000-0000-0000-0000-000000000001" \
  --client-assertion env.CI_OIDC_TOKEN \
  --tenant DefaultTenant

# Headless / automation-driven login: print the authorize URL instead of opening a browser
uip login --no-browser --tenant DefaultTenant

# Custom credentials folder (useful for scoping per-project sessions)
uip login --interactive -f ./.uipath
# Browser-based interactive login, picks tenant at the end
uip login --interactive

# Log directly into a known org + tenant (no browser picker)
uip login --organization my-org --tenant DefaultTenant

# Log in to a non-default authority, e.g. an Automation Suite host
uip login --authority automation.acme-corp.com --tenant DefaultTenant

# External Application with secret from environment variable
uip login \
  --client-id "00000000-0000-0000-0000-000000000001" \
  --client-secret env.UIPATH_CLIENT_SECRET \
  --scope "OR.Folders OR.Jobs" \
  --tenant DefaultTenant

# Federated login (workload identity) — the OIDC token comes from your CI provider
uip login \
  --client-id "00000000-0000-0000-0000-000000000001" \
  --client-assertion env.CI_OIDC_TOKEN \
  --tenant DefaultTenant

# Headless / automation-driven login: print the authorize URL instead of opening a browser
uip login --no-browser --tenant DefaultTenant

# Custom credentials folder (useful for scoping per-project sessions)
uip login --interactive -f ./.uipath

Formato dos dados (--output json)​

{
  "Code": "Authenticated",
  "Data": {
    "Status": "Logged in",
    "Organization": "my-org",
    "Tenant": "DefaultTenant"
  }
}
{
  "Code": "Authenticated",
  "Data": {
    "Status": "Logged in",
    "Organization": "my-org",
    "Tenant": "DefaultTenant"
  }
}

Modos de falha​

  • Tenant ausente após um login não interativo gera um ConfigError com Message: "No tenant selected" e instrui você a executar novamente com --tenant <name> ou --interactive.
  • Erros de transporte e respostas não 2xx da superfície de autoridade como AuthenticationError, com o status HTTP original em Context.httpStatus quando disponível.
  • Uma referência env.NAME malformada em --client-id / --client-secret produz um ConfigError antes de qualquer chamada de rede.

Atualização de login da uip​

Atualize proativamente o token de acesso e emita uma carga de sessão legível por máquina (token de acesso, identidade da organização/tenant, expiração). Destinado a consumidores programáticos (por exemplo, uma extensão IDE) que precisam de um token válido garantido para os próximos minutos — ao contrário de uip login status, que é um relatório de status e gira o token apenas incidentemente quando já expirou, refresh força uma rotação antes do tempo quando necessário.

Argumentos​

Nenhum.

Opções​

  • --login-validity <minutes> — atualize apenas se o token de acesso atual expirar dentro desses minutos. Padrão 5. Passe 0 para ignorar a verificação proativa e girar apenas se o token já estiver expirado. Intervalo 0–525600 (um ano).

Exemplos​

# Refresh and print a token guaranteed valid for the next 5 minutes (the default)
uip login refresh --output json

# Require at least 10 minutes of validity, forcing a refresh if the token expires sooner
uip login refresh --login-validity 10 --output json
# Refresh and print a token guaranteed valid for the next 5 minutes (the default)
uip login refresh --output json

# Require at least 10 minutes of validity, forcing a refresh if the token expires sooner
uip login refresh --login-validity 10 --output json

Formato dos dados (--output json)​

{
  "Code": "LoginRefresh",
  "Data": {
    "Status": "Logged in",
    "Organization": "my-org",
    "Tenant": "DefaultTenant",
    "Expiration Date": "2026-04-18T10:30:00Z",
    "BaseUrl": "https://cloud.uipath.com",
    "OrganizationId": "00000000-0000-0000-0000-000000000001",
    "OrganizationName": "my-org",
    "TenantId": "00000000-0000-0000-0000-000000000002",
    "TenantName": "DefaultTenant",
    "AccessToken": "<jwt>"
  }
}
{
  "Code": "LoginRefresh",
  "Data": {
    "Status": "Logged in",
    "Organization": "my-org",
    "Tenant": "DefaultTenant",
    "Expiration Date": "2026-04-18T10:30:00Z",
    "BaseUrl": "https://cloud.uipath.com",
    "OrganizationId": "00000000-0000-0000-0000-000000000001",
    "OrganizationName": "my-org",
    "TenantId": "00000000-0000-0000-0000-000000000002",
    "TenantName": "DefaultTenant",
    "AccessToken": "<jwt>"
  }
}
Importante:

AccessToken é incluído apenas quando --output json está em vigor e --output foi passado explicitamente ou stdout é não interativo ( tabulado/redirecionado). Um uip login refresh vazio e interativo em um terminal nunca imprime o token — isso é deliberado, para que o token não cai na rolagem para trás por engano. Code é LoginRefreshPartial em vez de LoginRefresh quando o token atualizado não pôde ser persistido de volta ao disco (o chamador ainda recebe um token válido e utilizável para o processo atual).

Modos de falha​

  • Não conectado, com falha na atualização ou o token expirou sem nenhum token de atualização disponível: AuthenticationError, código de saída 2, com Instructions nomeando a causa específica.

login da uip qual​

Imprimir onde uip leria a autenticação para o diretório de trabalho atual — o diagnóstico exato para "por que minha sessão não está sendo coletada"." Não aceita opções; ele sempre relata a resolução orientada + fallback inicial descrita em Sessões e credenciais.

Argumentos​

Nenhum.

Opções​

Nenhum.

Exemplos​

uip login which --output json
uip login which --output json

Formato dos dados — sessão baseada em arquivo (--output json)​

{
  "Code": "AuthFile",
  "Data": {
    "Path": "/Users/me/projects/foo/.uipath/.auth",
    "Exists": true,
    "Source": "ancestor"
  }
}
{
  "Code": "AuthFile",
  "Data": {
    "Path": "/Users/me/projects/foo/.uipath/.auth",
    "Exists": true,
    "Source": "ancestor"
  }
}

Source relata onde o arquivo foi encontrado na cadeia inicial (por exemplo, ancestor versus o fallback do diretório inicial). Quando o sinalizador --profile global nomeia um perfil ativo, a resposta também inclui um campo Profile.

Formato dos dados — sessão da variável de ambiente (--output json)​

Quando UIPATH_CLI_ENABLE_ENV_AUTH=true, which relata o modo env-var em vez de um arquivo:

{
  "Code": "AuthEnv",
  "Data": {
    "EnableVar": "UIPATH_CLI_ENABLE_ENV_AUTH",
    "AllVarsPresent": true,
    "MissingVars": [],
    "Vars": [
      "UIPATH_CLI_AUTH_TOKEN",
      "UIPATH_CLI_ORGANIZATION_NAME",
      "UIPATH_CLI_ORGANIZATION_ID",
      "UIPATH_CLI_TENANT_NAME",
      "UIPATH_CLI_TENANT_ID"
    ]
  }
}
{
  "Code": "AuthEnv",
  "Data": {
    "EnableVar": "UIPATH_CLI_ENABLE_ENV_AUTH",
    "AllVarsPresent": true,
    "MissingVars": [],
    "Vars": [
      "UIPATH_CLI_AUTH_TOKEN",
      "UIPATH_CLI_ORGANIZATION_NAME",
      "UIPATH_CLI_ORGANIZATION_ID",
      "UIPATH_CLI_TENANT_NAME",
      "UIPATH_CLI_TENANT_ID"
    ]
  }
}

MissingVars nunca inclui valores — apenas os nomes de variáveis que não estão definidas ou vazias, portanto, é sempre seguro colar a resposta em um ticket ou chat.

Modos de falha​

  • Nenhum arquivo de credenciais encontrado na cadeia de encerramento: AuthenticationError, código de saída 2, com instruções para executar uip login.
  • O caminho do arquivo de credenciais resolvidos existe, mas não é utilizável (por exemplo, um diretório fica nesse caminho ou as permissões de arquivo bloqueiam a leitura dele): Failure, código de saída 1 — um problema de host/sistema de arquivos, não um log de novo" problema.

lista de tenants de login uip​

Lista todos os tenants visíveis para o usuário autenticado na organização atual. Requer um logon ativo.

Argumentos​

Nenhum.

Opções​

  • -f, --file <folder> — Caminho para a pasta de credenciais. O padrão é a sessão usada pelo último uip login. mutuamente exclusivo com o sinalizador --profile global.

Exemplo​

uip login tenant list
uip login tenant list

Formato dos dados (--output json)​

{
  "Code": "TenantList",
  "Data": [
    {
      "TenantName": "DefaultTenant",
      "TenantId": "a1b2c3d4-0000-0000-0000-000000000001"
    },
    {
      "TenantName": "ProductionTenant",
      "TenantId": "a1b2c3d4-0000-0000-0000-000000000002"
    }
  ]
}
{
  "Code": "TenantList",
  "Data": [
    {
      "TenantName": "DefaultTenant",
      "TenantId": "a1b2c3d4-0000-0000-0000-000000000001"
    },
    {
      "TenantName": "ProductionTenant",
      "TenantId": "a1b2c3d4-0000-0000-0000-000000000002"
    }
  ]
}

Se a sessão não estiver logada, o comando emite AuthenticationError com instruções para executar uip login primeiro.

conjunto de tenant de login uip​

Selecione o tenant ativo por nome. O tenant deve existir na lista retornada por login tenant list; a CLI atualiza a sessão armazenada com a nova seleção.

Argumentos​

  • <name> (necessário) — Nome do tenant conforme retornado por uip login tenant list.

Opções​

  • -f, --file <folder> — Caminho para a pasta de credenciais. O padrão é a sessão usada pelo último uip login. mutuamente exclusivo com o sinalizador --profile global.

Exemplo​

uip login tenant set DefaultTenant
uip login tenant set DefaultTenant

Formato dos dados (--output json)​

{
  "Code": "TenantSet",
  "Data": {
    "Name": "DefaultTenant",
    "Id": "a1b2c3d4-0000-0000-0000-000000000001"
  }
}
{
  "Code": "TenantSet",
  "Data": {
    "Name": "DefaultTenant",
    "Id": "a1b2c3d4-0000-0000-0000-000000000001"
  }
}

Modos de falha​

  • Nome de tenant desconhecido produz ValidationError com Instructions listando os tenants disponíveis, por exemplo, argument should be one of DefaultTenant, ProductionTenant.
  • Se a CLI não puder atualizar a sessão armazenada, o erro será exibido como Failure com uma dica relacionada às permissões.

lista de perfis de login do uip​

Liste cada perfil de login nomeado armazenado sob ~/.uipath/profiles (consulte o sinalizador --profile global), além do local das credenciais default .

Opções​

  • --all-fields — Inclua também o URL da autoridade de cada perfil, expiração do token e caminho do arquivo de credenciais.

Exemplos​

uip login profiles list
uip login profiles list
{
  "Code": "ProfileList",
  "Data": [
    { "Name": "default", "Active": true, "OrganizationName": "acme", "TenantName": "DefaultTenant", "Status": "Logged in" },
    { "Name": "staging", "Active": false, "OrganizationName": "acme-staging", "TenantName": "QA", "Status": "Expired" }
  ]
}
{
  "Code": "ProfileList",
  "Data": [
    { "Name": "default", "Active": true, "OrganizationName": "acme", "TenantName": "DefaultTenant", "Status": "Logged in" },
    { "Name": "staging", "Active": false, "OrganizationName": "acme-staging", "TenantName": "QA", "Status": "Expired" }
  ]
}
uip login profiles list --all-fields
uip login profiles list --all-fields

Url, ExpiresAt e Path estão incluídos apenas com --all-fields. Em uma tabela interativa, qualquer perfil cujo Status não seja Logged in será destacado.

exclusão de perfis de login do UIP​

Exclua um perfil de login nomeado e suas credenciais armazenadas. Esta é uma exclusão real de arquivos no disco — não há como desfazer.

Argumentos​

  • [profile-name] — Nome do perfil a excluir. Omita ao usar --all.

Opções​

  • --all — Excluir cada perfil nomeado em vez de um.
  • -y, --yes — Confirme a exclusão. Obrigatório — esse comando nunca solicita interativamente.

Exemplos​

uip login profiles delete staging --yes
uip login profiles delete staging --yes
{ "Code": "Message", "Data": { "Message": "Deleted profile 'staging'. Removed /home/alice/.uipath/profiles/staging" } }
{ "Code": "Message", "Data": { "Message": "Deleted profile 'staging'. Removed /home/alice/.uipath/profiles/staging" } }
uip login profiles delete --all --yes
uip login profiles delete --all --yes
{
  "Code": "DeleteResult",
  "Data": [
    { "Name": "staging", "Status": "deleted" },
    { "Name": "prod", "Status": "deleted" }
  ]
}
{
  "Code": "DeleteResult",
  "Data": [
    { "Name": "staging", "Status": "deleted" },
    { "Name": "prod", "Status": "deleted" }
  ]
}

Modos de falha​

  • Passar um nome de perfil e --all, ou nenhum, falha com ValidationError antes de tocar no disco.
  • default não pode ser excluído dessa forma — ele falha com ValidationError apontando você para uip logout, já que default não está armazenado em ~/.uipath/profiles.
  • A exclusão do perfil atualmente selecionado por --profile <name> nessa mesma invocação falha com ValidationError (execute novamente sem esse sinalizador).
  • Com --all, o perfil ativo (se houver) é automaticamente ignorado em vez de excluído e relatado na resposta com Status: "skipped". Se ignorá-lo não deixar mais nada para excluir, o comando falhará com ValidationError em vez de ter sucesso silenciosamente.
  • Um nome de perfil desconhecido falha com Code: "not_found", apontando para login profiles list.

Esta página foi útil?

Conectar

Precisa de ajuda? Suporte

Quer aprender? Academia UiPath

Tem perguntas? Fórum do UiPath

Fique por dentro das novidades