# login

Initiates the bot login sequence.

```csharp
// See "LSL Helper Functions" page for this function
smartbotsAPI("login", [
  "location", "DuoLife/206/36/94"
]);
```

# Variables

The following table shows input values (you send them with the API call) and returned output values.

## Input basic parameters

| Variable | Required | Description |
|----------|----------|-------------|
| action   | yes      | = login     |
| apikey   | yes      | Your personal [developer's API key](/doc/developers-api-key-tw8bQj4LSJ) |
| botname  | yes      | Your bot's SL login |
| secret   | yes      | [Bot access code](https://www.mysmartbots.com/docs/Bot_access_code) of your bot |
| dataType | optional | Set to "json" to get JSON reply instead of URL-encoded string |
| custom   | optional | The custom data (string) to be passed back to caller script. This value will be returned back to the caller in HTTP response |

## Input

| Variable | Required | Description |
|----------|----------|-------------|
| location | optional | The initial location to log in. Leave blank for previous location.<br><br>Format (one of):<br>• Region name/X/Y/Z<br>•`HOME`— to log in to the bot’s Second Life home location<br><br>This value replaces the bot base location ("Bot base location" in Bot Control Panel). Setting this also sets "login to: base location". |
| siton    | optional | The UUID of the object the bot will try to sit on once logged in (same as "Object to sit" in Bot Control Panel). |

## Output

*(To be received in* `*http_response*` *LSL event, see* [*docs for details*](/doc/doing-http-api-calls-c6FSEMF7bP)*)*

| Variable | Description |
|----------|-------------|
| result   | OK - command completed successfully<br>FAIL - command failed |
| resulttext | Detailed reason for the failure |
| custom   | The value from input "custom" parameter. See above |

# Comments

This command tells the bot to start logging in.  
It is always successful:

* You won’t get an error if the bot is already logged in.
* You won’t get an error if the bot’s password is incorrect.

You can use the [`set_http_callback`](/doc/set_http_callback-YXRAyPW1xi) command to receive HTTP notifications when the bot logs in or out.

# Example

Log in your bot immediately (the command is ignored if the bot is already logged in).  
This example logs the bot into the **DuoLife** region:

```csharp
string recipient = "Tester Resident";

string params = llDumpList2String([
  "action="  + "login",
  "apikey="  + llEscapeURL(sbApiKey),
  "botname=" + llEscapeURL(sbBotName),
  "secret="  + llEscapeURL(sbBotAccessCode),
  "location="  + llEscapeURL("DuoLife/206/36/94")
], "&");
 
llHTTPRequest("https://api.mysmartbots.com/api/bot.html",
  [HTTP_METHOD, "POST"], params);
```