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

# Give a job a login

> Enter a website login for a waiting job on a protected Pomerado page, never in chat.

When a job needs a website login it doesn't have, it pauses and asks for one on a protected Pomerado page. The password goes straight to Pomerado and never passes through your chat, your agent or your code.

## Recognize the request

The job's `status` is `needs_input`, and its `input_request` holds one question of type `login`:

* `reason` is `missing` (no login is saved), `rejected` (the website refused it) or `expired` (the password stopped working).
* `fields` names what the website's sign-in takes, such as `["email", "password"]`.
* `can_save` says whether the login may be saved for next time.

## Answer on the protected page

<Steps>
  <Step title="Share the answer link">
    Give the person the request's `answer_url`. In an MCP client, `answer_job` with only `job_id` returns the job with that link.
  </Step>

  <Step title="Enter the login">
    The person signs in to Pomerado and enters the website login. For an expired login, only the password changes.
  </Step>

  <Step title="Choose whether to save it">
    With **Save this login** selected, Pomerado saves it once the job signs in and finishes successfully. Otherwise it is used for this job only.
  </Step>
</Steps>

The job then signs in and continues; see [wait for a result](/guides/jobs/wait-for-a-result). If the website rejects the login, the page asks again for the rejected field, at most twice per field. After that the job fails with `credentials_rejected`, whose `details.field` names the field. A rejected login never starts a repair of the tool; only a sign-in that breaks does.

## Never ask for passwords in chat

A login typed into a chat, sent in a run request or sent through `answer_job` passes through your client and its model provider. Send the person the `answer_url` instead. To avoid the pause, [save the login ahead of time](/guides/logins/save-and-manage).

<Accordion title="Details">
  * The question stays open for 10 minutes. With no answer, the job fails with `error.code` `no_response`.
  * On a Personal account, a saved login is locked to its username after its first verified sign-in.
  * On a Business account with several logins for the site, a run uses the one you created if exactly one is yours. Otherwise it is refused with `account_selection_required`; send `login_id`.
  * Codes and other questions arrive the same way; see [answer questions](/guides/jobs/answer-questions).
</Accordion>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.