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

# Recuperar API Key

> Utilize este recurso para recuperar o acesso à sua conta.

export const RecoveryKey = () => {
  const [email, setEmail] = useState('');
  const [status, setStatus] = useState({
    loading: false,
    message: ''
  });
  const handleSubmit = async e => {
    e.preventDefault();
    if (!email || !(/\S+@\S+\.\S+/).test(email)) return;
    setStatus({
      loading: true,
      message: ''
    });
    setEmail('');
    try {
      await fetch('https://device.agroop.net/api/access/token', {
        method: 'POST',
        headers: {
          'Content-Type': 'application/json'
        },
        body: JSON.stringify({
          email
        })
      });
    } catch (err) {}
    setStatus({
      loading: false
    });
  };
  return <div className="max-w-md">
      <form onSubmit={handleSubmit} className="space-y-4">
        <input id="email" type="email" value={email} onChange={e => setEmail(e.target.value)} placeholder="Digite seu e-mail" className="w-full border px-3 py-2 rounded-lg" required />

        <button type="submit" disabled={status.loading} className="
          bg-[var(--primary-color)]
          px-text-sm font-medium text-white dark:!text-zinc-950 bg-zinc-900 hover:bg-zinc-700 dark:bg-zinc-100 hover:dark:bg-zinc-300 rounded-full px-3.5 py-1.5 not-prose4
          py-2
          rounded-lg
          font-medium
          transition-all
          duration-200
          hover:opacity-90
          hover:-translate-y-[1px]
          disabled:opacity-50
          inline-block
        ">
          {status.loading ? 'Enviando...' : 'Enviar'}
        </button>

        {status.message && <p className="mt-3 text-sm text-green-500">{status.message}</p>}
      </form>
    </div>;
};

### Perdeu a sua chave de autenticação?

Introduza o seu e-mail abaixo para recuperar o acesso. Será enviado um e-mail com um token temporário para recuperar a sua chave:

<RecoveryKey />
