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

# Consultar usuario autorizado

Lista los usuarios autorizados en la cuenta del solicitante. Los resultados siempre están limitados al ámbito de la cuenta del solicitante: los tokens Bearer usan la cuenta del token; las llamadas con Basic (clave de API) usan la cuenta del operador configurada para la aplicación. Se excluyen las asignaciones de rol para `OWNER`.

Ambos filtros son opcionales y reducen aún más los resultados por `email` y/o `phone`.

🔒 Acceso restringido

Esta consulta requiere el alcance `VIEW_SUBUSERS`. Admite autenticación tanto Bearer (token de acceso de usuario) como Basic (`<API_KEY>`).

```graphql theme={null}
query AuthorizedUsers(
  $email: String
  $phone: String
) {
  authorizedUsers(
    email: $email
    phone: $phone
  ) {
    authUserId
    roles
    status
    email
    phone
    firstName
    lastName
  }
}
```

<br />

### Parámetros

| Parámetro | Tipo   | Requerido | Descripción                                               |
| :-------- | :----- | :-------- | :-------------------------------------------------------- |
| email     | String | No        | Filtra por la dirección de correo del usuario autorizado. |
| phone     | String | No        | Filtra por el número de teléfono del usuario autorizado.  |

<br />

### Respuesta

#### Respuesta exitosa

```json theme={null}
{
  "data": {
    "authorizedUsers": [
      {
        "authUserId": "8b2c1e0a-7d4f-4a9b-9c2d-1f3e4a5b6c7d",
        "roles": ["MANAGER", "VIEWER"],
        "status": "ACTIVE",
        "email": "teammate@example.com",
        "phone": "+15555555555",
        "firstName": "Ada",
        "lastName": "Lovelace"
      }
    ]
  }
}
```

<br />

### Campos de la respuesta

| Campo        | Tipo              | Descripción                                                                                           |
| :----------- | :---------------- | :---------------------------------------------------------------------------------------------------- |
| `authUserId` | UUID              | El ID del usuario autorizado (ID de asignación de rol UAC). Pasa este valor a `removeAuthorizedUser`. |
| `roles`      | \[UACRoleType]    | Roles asignados al usuario en la cuenta.                                                              |
| `status`     | UACRoleStatusType | Estado de la asignación de rol: `PENDING`, `ACTIVE`, `INACTIVE` o `DECLINED`.                         |
| `email`      | String            | Dirección de correo electrónico del usuario autorizado.                                               |
| `phone`      | String            | Número de teléfono del usuario autorizado.                                                            |
| `firstName`  | String            | Nombre del usuario autorizado.                                                                        |
| `lastName`   | String            | Apellido del usuario autorizado.                                                                      |

<br />

### Ejemplo de solicitud

```curl theme={null}
curl -X POST https://transactional-graph.staging.fluzapp.com/api/v1/graphql \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer <your_access_token>" \
  -d '{
  "query": "query AuthorizedUsers($email: String, $phone: String) { authorizedUsers(email: $email, phone: $phone) { authUserId roles status email phone firstName lastName } }",
  "variables": {
    "email": "teammate@example.com"
  }
}'
```

```typescript theme={null}
const response = await fetch('https://transactional-graph.staging.fluzapp.com/api/v1/graphql', {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json',
    'Authorization': `Bearer ${accessToken}`
  },
  body: JSON.stringify({
    query: `
      query AuthorizedUsers(
        $email: String
        $phone: String
      ) {
        authorizedUsers(
          email: $email
          phone: $phone
        ) {
          authUserId
          roles
          status
          email
          phone
          firstName
          lastName
        }
      }
    `,
    variables: {
      email: "teammate@example.com"
    }
  })
});

const data = await response.json();
console.log('Authorized users:', data.data.authorizedUsers);
```

### Códigos de error

| Código      | Mensaje                                                 | Descripción                                                                                                                                                                                                         |
| :---------- | :------------------------------------------------------ | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `AUTH-0008` | Invalid user access                                     | No se pudo resolver el solicitante a partir del token de acceso o la clave de API, o la aplicación con autenticación Basic no tiene configurada una cuenta de operador. Verifica tus credenciales de autenticación. |
| `AUTH-0031` | The requested scopes must be granted by the user first. | Al token le falta el alcance `VIEW_SUBUSERS` requerido para listar usuarios autorizados.                                                                                                                            |

<br />
