> ## Documentation Index
> Fetch the complete documentation index at: https://docs.devin.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Recuperar análises da página do usuário

> Recupera estatísticas de atividade do usuário, incluindo nomes, e-mails, horários da última atividade, dias ativos e créditos de prompt usados na página Teams.

<div id="overview">
  ## Visão geral
</div>

Recupere as estatísticas de atividade dos usuários exibidas na página Teams, incluindo nomes de usuário, e-mails, horários da última atividade, dias ativos e créditos de prompt utilizados.

<div id="request">
  ## Requisição
</div>

<ParamField body="service_key" type="string" required>
  Sua chave de serviço com a permissão "Teams Read-only"
</ParamField>

<ParamField body="group_name" type="string">
  Filtra os resultados para usuários em um grupo específico (opcional)
</ParamField>

<ParamField body="start_timestamp" type="string">
  Data/hora de início no formato RFC 3339 (por exemplo, `2023-01-01T00:00:00Z`). **Afeta apenas o cálculo de `activeDays`.** Se não for fornecido, o valor padrão será 1 ano atrás.
</ParamField>

<ParamField body="end_timestamp" type="string">
  Data/hora de término no formato RFC 3339 (por exemplo, `2023-12-31T23:59:59Z`). **Afeta apenas o cálculo de `activeDays`.** Se não for fornecido, o valor padrão será o horário atual.
</ParamField>

<div id="example-request">
  ### Exemplo de requisição
</div>

```bash theme={null}
curl -X POST --header "Content-Type: application/json" \
--data '{
  "service_key": "your_service_key_here",
  "group_name": "engineering_team",
  "start_timestamp": "2024-01-01T00:00:00Z",
  "end_timestamp": "2024-12-31T23:59:59Z"
}' \
https://server.codeium.com/api/v1/UserPageAnalytics
```

<div id="response">
  ## Resposta
</div>

<ResponseField name="userTableStats" type="array">
  Lista de objetos com estatísticas de usuários

  <Expandable title="Objeto de estatísticas do usuário">
    <ResponseField name="name" type="string">
      Nome de exibição do usuário
    </ResponseField>

    <ResponseField name="email" type="string">
      Endereço de e-mail do usuário
    </ResponseField>

    <ResponseField name="lastUpdateTime" type="string">
      Timestamp da última atividade do usuário no formato RFC 3339
    </ResponseField>

    <ResponseField name="apiKey" type="string">
      Versão com hash da Chave de API do usuário
    </ResponseField>

    <ResponseField name="activeDays" type="number">
      Número de dias em que o usuário esteve ativo dentro do intervalo consultado (definido por `start_timestamp` e `end_timestamp`). Um dia é considerado ativo se o usuário teve alguma aceitação de autocomplete, uso do Cascade ou uso de comandos nesse dia.
    </ResponseField>

    <ResponseField name="disableCodeium" type="boolean">
      Indica se o acesso ao Devin Desktop foi desativado para o usuário por um admin. Esse campo só estará presente se o acesso tiver sido explicitamente desativado e, nesse caso, sempre terá o valor true.
    </ResponseField>

    <ResponseField name="role" type="string">
      A função do usuário na equipe (por exemplo, admin, membro)
    </ResponseField>

    <ResponseField name="signupTime" type="string">
      Timestamp de quando o usuário se cadastrou, no formato RFC 3339
    </ResponseField>

    <ResponseField name="lastAutocompleteUsageTime" type="string">
      O timestamp mais recente de uso da modalidade Tab/Autocomplete, no formato RFC 3339
    </ResponseField>

    <ResponseField name="lastChatUsageTime" type="string">
      O timestamp mais recente de uso da modalidade Cascade, no formato RFC 3339
    </ResponseField>

    <ResponseField name="lastCommandUsageTime" type="string">
      O timestamp mais recente de uso da modalidade Command, no formato RFC 3339
    </ResponseField>

    <ResponseField name="promptCreditsUsed" type="number">
      O número total de créditos de prompt usados por este usuário durante o **ciclo de faturamento atual**, retornado em **centavos** (1 crédito = 100 centavos). Para obter o uso real de créditos, divida esse valor por 100. Esse valor **não** é afetado pelos parâmetros de requisição `start_timestamp` ou `end_timestamp`. A janela do ciclo de faturamento é indicada pelos campos de nível superior `billingCycleStart` e `billingCycleEnd`.
    </ResponseField>

    <ResponseField name="teamStatus" type="string">
      O status de associação do usuário à equipe. Valores possíveis: `USER_TEAM_STATUS_UNSPECIFIED`, `USER_TEAM_STATUS_PENDING`, `USER_TEAM_STATUS_APPROVED`, `USER_TEAM_STATUS_REJECTED`. Observe que a API retorna todos os usuários independentemente do status na equipe, enquanto a UI Manage Members mostra apenas os usuários aprovados.
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="billingCycleStart" type="string">
  Início do ciclo de faturamento atual no formato RFC 3339. Os valores de `promptCreditsUsed` em `userTableStats` correspondem ao uso dentro deste ciclo de faturamento.
</ResponseField>

<ResponseField name="billingCycleEnd" type="string">
  Fim do ciclo de faturamento atual no formato RFC 3339. Os valores de `promptCreditsUsed` em `userTableStats` correspondem ao uso dentro deste ciclo de faturamento.
</ResponseField>

<div id="example-response">
  ### Exemplo de resposta
</div>

```json theme={null}
{
  "userTableStats": [
    {
      "name": "Alice",
      "email": "alice@cognition.ai",
      "lastUpdateTime": "2024-10-10T22:56:10.771591Z",
      "apiKey": "aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa",
      "activeDays": 178,
      "role": "admin",
      "signupTime": "2024-01-15T08:30:00Z",
      "lastAutocompleteUsageTime": "2024-10-10T22:56:10Z",
      "lastChatUsageTime": "2024-10-10T20:30:00Z",
      "promptCreditsUsed": 12500,
      "teamStatus": "USER_TEAM_STATUS_APPROVED"
    },
    {
      "name": "Bob",
      "email": "bob@cognition.ai",
      "lastUpdateTime": "2024-10-10T18:11:23.980237Z",
      "apiKey": "bbbbbbbb-bbbb-bbbb-bbbb-bbbbbbbbbbbb",
      "activeDays": 210,
      "role": "member",
      "signupTime": "2024-02-01T10:00:00Z",
      "lastAutocompleteUsageTime": "2024-10-10T18:11:23Z",
      "lastChatUsageTime": "2024-10-09T14:22:00Z",
      "lastCommandUsageTime": "2024-10-08T09:15:00Z",
      "promptCreditsUsed": 8300,
      "teamStatus": "USER_TEAM_STATUS_APPROVED"
    }
  ],
  "billingCycleStart": "2024-10-01T00:00:00Z",
  "billingCycleEnd": "2024-11-01T00:00:00Z"
}
```

<div id="error-responses">
  ## Respostas de erro
</div>

<ResponseField name="error" type="string">
  Mensagem de erro que descreve o problema
</ResponseField>

Cenários comuns de erro:

* Chave de serviço inválida ou permissões insuficientes
* Formato de timestamp inválido
* Grupo não encontrado
* Limite de requisições excedido
